Freigeben über


Xml-Webserversteuerelement

Zeigt ein XML-Dokument oder das Ergebnis einer XSL-Transformation an.

<asp:Xmlid="Xml1"     Document="XmlDocument object to display"     DocumentContent="String of XML"     DocumentSource="Path to XML Document"     Transform="XslTransform object"     TransformSource="Path to XSL Transform Document"     runat="server">

Hinweise

Verwenden Sie das Xml-Steuerelement, um den Inhalt eines XML-Dokuments oder das Ergebnis einer XSL-Transformation darzustellen.

Das anzuzeigende XML-Dokument wird durch Setzen einer von drei Eigenschaften angegeben. Diese drei Eigenschaften stellen die unterschiedlichen Typen von XML-Dokumenten dar, die angezeigt werden können. Sie können ein System.Xml.XmlDocument-Dokument, eine XML-Zeichenfolge oder eine XML-Datei darstellen, indem Sie die entsprechende Eigenschaft festlegen. In der folgenden Tabelle sind die Eigenschaften für die Angabe des XML-Dokuments aufgelistet.

Eigenschaft Beschreibung
Document Legt das XML-Dokument mit einem System.Xml.XmlDocument-Objekt fest.
DocumentContent Legt das XML-Dokument mit einer Zeichenfolge fest.
Hinweis   Diese Eigenschaft wird i. A. deklarativ gesetzt, indem zwischen dem öffnenden und dem schließenden <asp:Xml>-Tag des Xml-Steuerelements Text eingefügt wird.
DocumentSource Legt das XML-Dokument mit einer Datei fest.

Hinweis   Mindestens eine der XML-Dokumenteigenschaften muss gesetzt sein, andernfalls wird kein XML-Dokument angezeigt. Wenn mehr als eine XML-Dokumenteigenschaft gesetzt ist, wird das XML-Dokument in der zuletzt gesetzten Eigenschaft angezeigt. Die Dokumente in den anderen Eigenschaften werden dann ignoriert.

Sie können optional ein XSL-Transformationsdokument angeben, das das XML-Dokument formatiert, bevor es in den Ausgabestream geschrieben wird, indem Sie eine von zwei Eigenschaften setzen. Diese beiden Eigenschaften stellen die unterschiedlichen Typen von XSL-Transformationsdokumenten dar, die zum Formatieren des XML-Dokuments verwendet werden können. Sie können das XML-Dokument mit einem System.Xml.Xsl.XslTransform oder mit einer XSL-Transformationsdatei formatieren, indem Sie die entsprechende Eigenschaft setzen. Wenn kein XSL-Transformationsdokument angegeben ist, wird das XML-Dokument unter Verwendung des Standardformats angezeigt. In der folgenden Tabelle sind die Eigenschaften für die Angabe eines XSL-Transformationsdokuments aufgelistet.

Eigenschaft Beschreibung
Transform Formatiert das XML-Dokument mit Hilfe des angegebenen System.Xml.Xsl.XslTransform.
TransformSource Formatiert das XML-Dokument mit Hilfe der angegebenen XSL-Transformationsdatei.

Hinweis   Das XSL-Transformationsdokument ist optional. Sie müssen die Transform-Eigenschaft oder die TransformSource-Eigenschaft nicht setzen. Wenn beide XSL-Transformationsdokumenteigenschaften gesetzt sind, bestimmt die zuletzt gesetzte Eigenschaft, welches XSL-Transformationsdokument zum Formatieren des XML-Dokuments verwendet wird. Die andere Eigenschaft wird ignoriert.

Die Xml-Klasse stellt außerdem die TransformArgumentList-Eigenschaft bereit, mit der Sie für das XSL-Transformation-Stylesheet optionale Argumente bereitstellen können. Die Argumente können entweder XSLT-Parameter oder Erweiterungsobjekte sein.

Beispiel

Im Folgenden ein Beispiel für eine XML-Datei.

<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>

Im Folgenden ein Beispiel für eine XSL-Transformationsdatei.

<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" />
                  &#160;
                  <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>

Das folgende Beispiel veranschaulicht, wie mit dem Xml-Steuerelement die Beispiel-XML-Datei unter Verwendung der Beispiel-XSL-Transformationsdatei angezeigt werden kann. Die Beispiel-XML-Datei muss People.xml heißen, und die Beispiel-XSL-Transformationsdatei muss Peopletable.xsl heißen.

<html>
<body>
   <h3>Xml Example</h3>
   <form runat="server">
      <asp:Xml id="xml1" 
           DocumentSource="people.xml" 
           TransformSource="peopletable.xsl" 
           runat="server" />
   </form>
</body>
</html>

Das folgende Beispiel veranschaulicht, wie aus der Beispiel-XML- und der Beispiel-XSL-Transformationsdatei XmlDocument- und XslTransform-Objekte erstellt werden. Anschließend zeigt das Xml-Steuerelement mit Hilfe dieser Objekte das XML-Dokument an. Die Beispiel-XML-Datei muss People.xml heißen, und die Beispiel-XSL-Transformationsdatei muss Peopletable.xsl heißen.

<%@ 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>

Siehe auch

Webserversteuerelemente | Xml-Klasse