Примеры использования серверного элемента управления , входящего в состав Visual Studio .NET.
<html>
<body>
<asp:xml id="MyXml1" DocumentSource="Perf.xml" TransformSource="Perf.xsl" runat=server/>
</body>
</html>
Perf.xml:
<?xml version='1.0'?>
<sales>
<division id='North'>
<revenue>10</revenue>
<growth>9</growth>
<bonus>7</bonus>
</division>
<division id='South'>
<revenue>4</revenue>
<growth>3</growth>
<bonus>4</bonus>
</division>
<division id='West'>
<revenue>6</revenue>
<growth>-1.5</growth>
<bonus>2</bonus>
</division>
</sales>
Perf.xsl:
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match="/">
<style>
.value { width:"25%";font-family:courier new; font-size:.8em; white-space=pre;}
</style>
<table border="1" cellspacing="0" cellpadding="3" bordercolor="gainsboro">
<tr>
<th>Division</th>
<th>Revenue</th>
<th>Growth</th>
<th>Bonus</th>
</tr>
<xsl:for-each select='sales/division'>
<tr>
<td class="value"><em><xsl:value-of select='@id'/></em></td>
<td class="value"><xsl:value-of select='revenue'/></td>
<td class="value">
<xsl:if test='growth < 0'>
<xsl:attribute name='style'>
<xsl:text>color:red</xsl:text>
</xsl:attribute>
</xsl:if>
<xsl:value-of select='growth'/>
</td>
<td class="value"><xsl:value-of select='bonus'/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
Обратите внимание, что серверный элемент управление <asp:xml> имеет четыре свойства: DocumentSource (путь к XML файлу данных), TransformSource (путь к XSL/T преобразовывающему файлу), Document (ссылка на объект XmlDocument), и Transform (ссылка на объект XslTransform). Вы можете программно управлять любым из них, передавая "id", точно так же как и любым другим серверным элементом управления.
Обратите также внимание, что Вы можете при желании получить произвольный XML документ из базы данных (любой базы данных - SQL или иная другая). Это можно сделать, создав XmlDataDocument из заполненного набора данных. Приведенный ниже пример демонстрирует, как просто можно этого добиться. Он также иллюстрирует использование <%@ Page ContentType="whatever" %> директивы, которая является новой в ASP.NET - и разрешает Вам легко и описательно управлять HTTP содержимым, которое ASP.NET посылает назад клиенту в процессе запроса.
<%@ Page ContentType="text/xml" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SQL" %>
<%@ Import Namespace="System.Xml" %>
<script language="VB" runat=server>
Function GetProductData() As DataSet
Dim connection as New SQLConnection _
("server=localhost;uid=sa;pwd=;database=northwind")
Dim command as New SQLDataSetCommand _
("SELECT * FROM Products WHERE ProductID<8", connection)
Dim dataset As New DataSet()
command.FillDataSet(dataset, "dataset")
Return dataset
End Function
Sub Page_Load(Sender as Object, E as EventArgs)
Dim DataSet1 as DataSet = GetProductData()
Dim XmlDoc as XmlDocument = New XmlDataDocument(DataSet1)
MyXml1.Document = XmlDoc
End Sub
</script>
<asp:xml id="MyXml1" runat=server/>
При перепечатке любого материала с журнала или с сайта,
видимая ссылка на источник
http://altwebdeveloper.nm.ru
и все имена, ссылки авторов обязательны.
© 2004 CAS "altDesign"
© Валерий В. Макеев (deepInfinity)