Xml Class
Displays an XML document without formatting or using Extensible Stylesheet Language Transformations (XSLT).
For a list of all members of this type, see Xml Members.
System.Object
System.Web.UI.Control
System.Web.UI.WebControls.Xml
[Visual Basic] Public Class Xml Inherits Control [C#] public class Xml : Control [C++] public __gc class Xml : public Control [JScript] public class Xml extends Control
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Remarks
Use the Xml control to display the contents of an XML document without formatting or using XSL Transformations.
The XML document to display is specified by setting one of three properties. These three properties represent the different types of XML documents that can be displayed. You can display a System.Xml.XmlDocument, an XML string, or an XML file by setting the appropriate property. The following table lists the properties for specifying the XML document.
| Property | Description |
|---|---|
| Document | Sets the XML document using a System.Xml.XmlDocument object. |
| DocumentContent | Sets the XML document using a string.
Note This property is commonly set declaratively by placing text between the opening and closing <asp:Xml> tags of the Xml control. |
| DocumentSource | Sets the XML document using a file. |
Note At least one of the XML document properties must be set to display an XML document. If more than one XML document property is set, the XML document referenced in the last property set is displayed. The documents in the other properties are ignored.
You can optionally specify an XSL Transformation (XSLT) style sheet that formats the XML document before it is written to the output stream by setting one of two properties. The two properties represent the different types of XSL Transformation style sheets that can be used to format the XML document. You can format the XML document with a System.Xml.Xsl.XslTransform object or with an XSL Transformation style sheet file by setting the appropriate property. If no XSL Transformation style sheet is specified, the XML document is displayed using the default format. The following table list the properties for specifying an XSL Transformation style sheet.
| Property | Description |
|---|---|
| Transform | Formats the XML document using the specified System.Xml.Xsl.XslTransform object. |
| TransformSource | Formats the XML document using the specified XSL Transformation style sheet file. |
Note The XSL Transformation style sheet is optional. You do not need to set the Transform or the TransformSource properties. If both XSL Transformation style sheet properties are set, the last property set determines which XSL Transformation style sheet is used to format the XML document. The other property is ignored.
The Xml class also provides the TransformArgumentList property, which allows you to provide the XSL Transformation style sheet with optional arguments. The arguments can be either XSL Transformations(XSLT) parameters or extension objects.
Example
[Visual Basic] <!-- The following example demonstrates how to create XmlDocument and XslTransform objects from the sample XML and XSL Transform files. The objects are then used by the Xml control to display the XML document. Make sure the sample XML file is called People.xml and the sample XSL Transform file is called Peopletable.xsl. --> <%@ 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> <!-- For this example to work, paste the following code into a file named peopletable.xsl. Store the file in the same directory as your .aspx file. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/People"> <xsl:apply-templates select="Person" /> </xsl:template> <xsl:template match="Person"> <table width="100%" border="1"> <tr> <td> <b> <xsl:value-of select="Name/FirstName" />   <xsl:value-of select="Name/LastName" /> </b> </td> </tr> <tr> <td> <xsl:value-of select="Address/Street" /><br /> <xsl:value-of select="Address/City" /> , <xsl:value-of select="Address/State" /> <xsl:value-of select="Address/Zip" /> </td> </tr> <tr> <td> Job Title: <xsl:value-of select="Job/Title" /><br /> Description: <xsl:value-of select="Job/Description" /> </td> </tr> </table> </xsl:template> <xsl:template match="bookstore"> <!-- Prices and books --> <bookstore> <xsl:apply-templates select="book"/> </bookstore> </xsl:template> <xsl:template match="book"> <book> <xsl:attribute name="ISBN"> <xsl:value-of select="@ISBN"/> </xsl:attribute> <price> <xsl:value-of select="price"/> </price> <xsl:text> </xsl:text> </book> </xsl:template> </xsl:stylesheet> --> <!-- For this example to work, paste the following code into a file named people.xml. Store the file in the same directory as your .aspx file. <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> --> [C#] <!-- The following example demonstrates how to create XmlDocument and XslTransform objects from the sample XML and XSL Transform files. The objects are then used by the Xml control to display the XML document. Make sure the sample XML file is called People.xml and the sample XSL Transform file is called Peopletable.xsl. --> <%@ 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> <!-- For this example to work, paste the following code into a file named peopletable.xsl. Store the file in the same directory as your .aspx file. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/People"> <xsl:apply-templates select="Person" /> </xsl:template> <xsl:template match="Person"> <table width="100%" border="1"> <tr> <td> <b> <xsl:value-of select="Name/FirstName" />   <xsl:value-of select="Name/LastName" /> </b> </td> </tr> <tr> <td> <xsl:value-of select="Address/Street" /><br /> <xsl:value-of select="Address/City" /> , <xsl:value-of select="Address/State" /> <xsl:value-of select="Address/Zip" /> </td> </tr> <tr> <td> Job Title: <xsl:value-of select="Job/Title" /><br /> Description: <xsl:value-of select="Job/Description" /> </td> </tr> </table> </xsl:template> <xsl:template match="bookstore"> <!-- Prices and books --> <bookstore> <xsl:apply-templates select="book"/> </bookstore> </xsl:template> <xsl:template match="book"> <book> <xsl:attribute name="ISBN"> <xsl:value-of select="@ISBN"/> </xsl:attribute> <price> <xsl:value-of select="price"/> </price> <xsl:text> </xsl:text> </book> </xsl:template> </xsl:stylesheet> --> <!-- For this example to work, paste the following code into a file named people.xml. Store the file in the same directory as your .aspx file. <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> -->
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Web.UI.WebControls
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
Assembly: System.Web (in System.Web.dll)
See Also
Xml Members | System.Web.UI.WebControls Namespace | System.Xml.XmlDocument | System.Xml.Xsl.XslTransform | Document | DocumentContent | DocumentSource | TransformArgumentList