閱讀此文請先查看網(wǎng)頁教學網(wǎng)的:ASP.NET入門教程:Web服務(wù)器控件,簡單講述了Web服務(wù)器控件的使用方法。
XML 控件用于顯示 XML 文檔或 XSL 轉(zhuǎn)換的結(jié)果。
通過設(shè)置 Document、DocumentContent 或 DocumentSource 這三個屬性之一來指定要顯示的 XML 文檔。這三個屬性表示可以顯示的不同類型的 XML 文檔。通過設(shè)置適當?shù)膶傩,可以顯示 System.Xml.XmlDocument、XML 字符串或 XML 文件。
通過設(shè)置 Transform、TransformSource 這兩個屬性之一,可以選擇指定 XSL 轉(zhuǎn)換 (XSLT) 樣式表,該樣式表在 XML 文檔被寫入輸出流之前對其進行格式化。這兩個屬性表示可用于格式化 XML 文檔的不同類型的 XSL 轉(zhuǎn)換樣式表。通過設(shè)置適當?shù)膶傩,可以?System.Xml.Xsl.XslCompiledTransform 對象或 XSL 轉(zhuǎn)換樣式表文件來格式化 XML 文檔。如果未指定 XSL 轉(zhuǎn)換樣式表,則使用默認格式顯示 XML 文檔。
Xml 類還提供 TransformArgumentList 屬性,該屬性使您得以提供具有可選參數(shù)的 XSL 轉(zhuǎn)換樣式表。這些參數(shù)可以是 XSL 轉(zhuǎn)換 (XSLT) 參數(shù)或擴展對象。
屬性 | 描述 | .NET |
---|---|---|
Document | 不贊成使用。規(guī)定使用 System.Xml.XmlDocument 對象的 XML 文檔。 | 1.0 |
DocumentContent | 規(guī)定 XML 字符串。 | 1.0 |
DocumentSource | 規(guī)定在 Xml 控件中顯示的 XML 文檔的路徑。 | 1.0 |
runat | 規(guī)定該控件是服務(wù)器控件。必須設(shè)置為 "server"。 | 1.0 |
Transform | 使用 System.Xml.Xsl.XslTransform 對象來格式化 XML 文檔。 | 1.0 |
TransformArgumentList | 包含傳遞給樣式表并在擴展樣式表語言轉(zhuǎn)換 (XSLT) 中使用的可選參數(shù)列表。 | |
TransformSource | 規(guī)定 XSL 轉(zhuǎn)換文件的路徑。 | |
XPathNavigator | 用于導(dǎo)航和編輯與 Xml 控件關(guān)聯(lián)的 XML 數(shù)據(jù)的光標模型。 |
AppRelativeTemplateSourceDirectory, BindingContainer, ClientID, Controls, EnableTheming, EnableViewState, ID, NamingContainer, Page, Parent, Site, TemplateControl, TemplateSourceDirectory, UniqueID, Visible
<asp:Xml
DocumentSource="uri"
EnableTheming="True|False"
EnableViewState="True|False"
ID="string"
OnDataBinding="DataBinding event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnUnload="Unload event handler"
runat="server"
SkinID="string"
TransformSource="string"
Visible="True|False"
/>
備注:使用 Xml 控件顯示 XML 文檔的內(nèi)容或 XSL 轉(zhuǎn)換的結(jié)果。
要顯示的 XML 文檔通過設(shè)置三個屬性之一來指定。這三個屬性表示可以顯示的 XML 文檔的不同類型。通過設(shè)置適當?shù)膶傩,可以顯示 XmlDocument、XML 字符串或 XML 文件。
注意:必須至少設(shè)置一個 XML 文檔屬性,否則將不會顯示任何 XML 文檔。如果設(shè)置了多個 XML 文檔屬性,則顯示所設(shè)置的最后一個屬性中的 XML 文檔。其他屬性中的文檔將被忽略。
還可根據(jù)需要通過設(shè)置兩個屬性之一來指定 XSL 轉(zhuǎn)換文檔,該文檔在將 XML 文檔寫入輸出流之前對其進行格式化。這兩個屬性表示可用于格式化 XML 文檔的 XSL 轉(zhuǎn)換文檔的不同類型。通過設(shè)置適當?shù)膶傩,可以使?XslTransform 或 XSL 轉(zhuǎn)換文件格式化 XML 文檔。如果未指定任何 XSL 轉(zhuǎn)換文檔,則使用默認格式顯示 XML 文檔。
注意:XSL 轉(zhuǎn)換文檔是可選的。不需要設(shè)置 Transform 或 TransformSource 屬性。如果同時設(shè)置了兩個 XSL 轉(zhuǎn)換文檔屬性,則所設(shè)置的最后一個屬性將確定使用哪個 XSL 轉(zhuǎn)換文檔格式化 XML 文檔。另一個屬性將被忽略。
Xml 類還提供了 TransformArgumentList 屬性,您可以使用該屬性為 XSL 轉(zhuǎn)換提供可選參數(shù)。這些參數(shù)可以是 XSLT 參數(shù)或者是擴展對象。
以下內(nèi)容顯示一個示例 XML 文件。
<People>
<Person>
<Name>
<FirstName>Joe</FirstName>
<LastName>Suits</LastName>
</Name>
<Address>
<Street>1800 Success Way</Street>
<City>Redmond</City>
<State>WA</State>
<ZipCode>98052</ZipCode>
</Address>
<Job>
<Title>CEO</Title>
<Description>Wears the nice suit</Description>
</Job>
</Person>
<Person>
<Name>
<FirstName>Linda</FirstName>
<LastName>Sue</LastName>
</Name>
<Address>
<Street>1302 American St.</Street>
<City>Paso Robles</City>
<State>CA</State>
<ZipCode>93447</ZipCode>
</Address>
<Job>
<Title>Attorney</Title>
<Description>Stands up for justice</Description>
</Job>
</Person>
<Person>
<Name>
<FirstName>Jeremy</FirstName>
<LastName>Boards</LastName>
</Name>
<Address>
<Street>34 Palm Avenue</Street>
<City>Waikiki</City>
<State>HI</State>
<ZipCode>98052</ZipCode>
</Address>
<Job>
<Title>Pro Surfer</Title>
<Description>Rides the big waves</Description>
</Job>
</Person>
<Person>
<Name>
<FirstName>Joan</FirstName>
<LastName>Page</LastName>
</Name>
<Address>
<Street>700 Webmaster Road</Street>
<City>Redmond</City>
<State>WA</State>
<ZipCode>98073</ZipCode>
</Address>
<Job>
<Title>Web Site Developer</Title>
<Description>Writes the pretty pages</Description>
</Job>
</Person>
</People>
以下內(nèi)容顯示一個示例 XSL 轉(zhuǎn)換文件。
下面的示例演示如何通過 Xml 控件來使用示例 XSL 轉(zhuǎn)換文件顯示示例 XML 文件。請確保示例 XML 文件名為 People.xml,示例 XSL 轉(zhuǎn)換文件名為 Peopletable.xsl。
<html>
<body>
<h3>Xml Example</h3>
<form runat="server">
<asp:Xml id="xml1"
DocumentSource="people.xml"
TransformSource="peopletable.xsl"
runat="server" />
</form>
</body>
</html>
下面的示例演示如何從示例 XML 和 XSL 轉(zhuǎn)換文件創(chuàng)建 XmlDocument 和 XslTransform 對象。然后,Xml 控件使用這兩個對象顯示 XML 文檔。請確保示例 XML 文件名為 People.xml,示例 XSL 轉(zhuǎn)換文件名為 Peopletable.xsl。
Visual Basic
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
Dim doc As XmlDocument = New XmlDocument()
doc.Load(Server.MapPath("people.xml"))
Dim trans As XslTransform = new XslTransform()
trans.Load(Server.MapPath("peopletable.xsl"))
xml1.Document = doc
xml1.Transform = trans
End Sub
</script>
<body>
<h3>Xml Example</h3>
<form runat="server">
<asp:Xml id="xml1" runat="server" />
</form>
</body>
</html>
C#
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Xsl" %>
<html>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("people.xml"));
XslTransform trans = new XslTransform();
trans.Load(Server.MapPath("peopletable.xsl"));
xml1.Document = doc;
xml1.Transform = trans;
}
</script>
<body>
<h3>Xml Example</h3>
<form runat="server">
<asp:Xml id="xml1" runat="server" />
</form>
</body>
</html>