Exemplarische Vorgehensweise: Erstellen einer Webseite zum Anzeigen von XML-Daten
Aktualisiert: November 2007
Daten werden Webanwendungen oft im XML-Format verfügbar gemacht. XML-Daten sind jedoch grundsätzlich hierarchisch. Sie können die XML-Daten jedoch auch in listenbasierten Steuerelementen verwenden, beispielsweise im GridView-Steuerelement oder im DropDownList-Steuerelement. In dieser exemplarischen Vorgehensweise wird gezeigt, wie Sie XML-Daten so verwenden, als ob sich diese in einer Datenbanktabelle befinden.
In dieser exemplarischen Vorgehensweise werden die folgenden Themen behandelt:
Verwenden eines Datenquellen-Steuerelements, mit dem XML-Daten gelesen und für Listensteuerelemente verfügbar gemacht werden.
Binden des GridView-Steuerelements und des DataList-Steuerelements an XML-Daten.
Erstellen einer Master-Detail-Seite, auf der logisch verknüpfte XML-Daten angezeigt werden.
Übernehmen einer Transformation für eine XML-Datei, damit die Datei wie Tabellendaten verwendet werden kann.
Hinweis: |
---|
Sie können XML auch in der hierarchischen Darstellung verwenden. Ausführliche Informationen finden Sie unter Exemplarische Vorgehensweise: Anzeigen von hierarchischen Daten in einem TreeView-Steuerelement. |
Vorbereitungsmaßnahmen
Für die Durchführung dieser exemplarischen Vorgehensweise benötigen Sie Folgendes:
Microsoft Visual Web Developer
.NET Framework
Bei dieser exemplarischen Vorgehensweise wird davon ausgegangen, dass Sie mit der Verwendung von Visual Web Developer vertraut sind.
Erstellen einer Website
Wenn Sie bereits eine Website in Visual Web Developer erstellt haben (z. B. indem Sie die Schritte in Exemplarische Vorgehensweise: Erstellen einer einfachen Webseite in Visual Web Developer befolgt haben), können Sie diese Website verwenden und zum nächsten Abschnitt übergehen. Erstellen Sie andernfalls eine neue Website und eine neue Webseite, indem Sie folgende Schritte ausführen.
So erstellen Sie eine Dateisystem-Website
Öffnen Sie Visual Web Developer.
Zeigen Sie im Menü Datei auf Neue Website.
Das Dialogfeld Neue Website wird angezeigt.
Klicken Sie unter Von Visual Studio installierte Vorlagen auf ASP.NET-Website.
Klicken Sie im Feld Speicherort auf Dateisystem, und geben Sie den Namen des Ordners ein, in dem Sie die Website speichern möchten.
Geben Sie z. B. den Ordnernamen C:\WebSites\XMLWalkthrough ein.
Klicken Sie in der Liste Sprachen auf die Programmiersprache, in der Sie arbeiten möchten, z. B. Visual Basic oder Visual C#.
Die ausgewählte Programmiersprache wird zur Standardsprache für die Website. Sie können jedoch die Programmiersprache für jede Seite einzeln festlegen.
Klicken Sie auf OK.
Visual Web Developer erstellt den Ordner und die neue Seite Default.aspx.
Erstellen einer XML-Datei für Daten
Erstellen Sie eine XML-Datei auf der Website, damit Ihnen verwendbare XML-Daten zur Verfügung stehen.
So erstellen Sie die XML-Datei
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Ordner App_Data, und klicken Sie dann auf Neues Element hinzufügen.
Hinweis: Wenn Sie die XML-Datei im Ordner App_Data ablegen, hat die XML-Datei die entsprechende Berechtigung dazu, dass ASP.NET zur Laufzeit aus der Datei lesen und in die Datei schreiben kann. Außerdem sind Dateien im Ordner App_Data davor geschützt, im Browser angezeigt zu werden, da der Ordner App_Data als nicht durchsuchbar gekennzeichnet ist.
Klicken Sie unter Von Visual Studio installierte Vorlagen auf XML-Datei.
Geben Sie Bookstore.xml im Feld Name ein.
Klicken Sie auf Hinzufügen.
Eine neue XML-Datei wird erstellt, die nur die XML-Direktive enthält.
Kopieren Sie die folgenden XML-Daten, und fügen Sie sie in die Datei ein. Überschreiben Sie dabei den bereits vorhandenen Inhalt der Datei.
<?xml version="1.0" standalone="yes"?> <bookstore> <book ISBN="10-000000-001" title="The Iliad and The Odyssey" price="12.95"> <comments> <userComment rating="4" comment="Best translation I've read." /> <userComment rating="2" comment="I like other versions better." /> </comments> </book> <book ISBN="10-000000-999" title="Anthology of World Literature" price="24.95"> <comments> <userComment rating="3" comment="Needs more modern literature." /> <userComment rating="4" comment="Excellent overview of world literature." /> </comments> </book> <book ISBN="11-000000-002" title="Computer Dictionary" price="24.95" > <comments> <userComment rating="3" comment="A valuable resource." /> </comments> </book> <book ISBN="11-000000-003" title="Cooking on a Budget" price="23.95" > <comments> <userComment rating="4" comment="Delicious!" /> </comments> </book> <book ISBN="11-000000-004" title="Great Works of Art" price="29.95" > </book> </bookstore>
Die Datei Bookstore.xml enthält Informationen zu Büchern, die über eine Onlinebuchhandlung verfügbar sind. Beachten Sie folgende Eigenschaften der XML-Datei:
Alle Eigenschaftenwerte für Elemente werden als Attribute ausgedrückt.
Die Datei enthält eine geschachtelte Struktur – jedes Buch kann seine Eigenschaftenwerte sowie einen oder mehrere Kommentare als separate Elemente enthalten.
Speichern Sie die Datei Bookstore.xml, und schließen Sie sie dann.
Anzeigen von XML-Daten in einem Listensteuerelement
Machen Sie den Steuerelementen auf einer ASP.NET-Webseite mithilfe eines Datenquellen-Steuerelements Daten verfügbar.
So konfigurieren Sie den Datenzugriff auf die XML-Datei
Öffnen Sie die Datei Default.aspx, und wechseln Sie dann zur Entwurfsansicht.
Ziehen Sie in der Toolbox aus der Gruppe Daten ein XmlDataSource-Steuerelement auf die Seite.
Klicken Sie im Menü XmlDataSource-Aufgaben auf Datenquelle konfigurieren.
Das Dialogfeld Datenquelle konfigurieren <DataSourceName> wird angezeigt.
Geben Sie ~/App_Data/Bookstore.xml im Feld Datendatei ein.
Klicken Sie auf OK.
Durch das XmlDataSource-Steuerelement werden die Daten in der XML-Datei den Steuerelementen auf der Seite verfügbar gemacht. Die Daten sind in zwei Formaten verfügbar: hierarchisch und tabellarisch. Steuerelemente, die an das XmlDataSource-Steuerelement gebunden sind, können die Daten in dem für sie geeigneten Format abrufen.
In diesem Fall bietet die Hierarchie der Datei Bookstore.xml die Möglichkeit einer relationalen Auslegung. Die beiden Ebenen der Datei (Bücher und Kommentare) können als zwei verknüpfte Tabellen aufgefasst werden.
Sie können jetzt die XML-Daten in einem Listensteuerelement anzeigen. Zeigen Sie zu Beginn XML-Daten in einem GridView-Steuerelement an.
So verwenden Sie ein GridView-Steuerelement für die einfache Anzeige der XML-Daten
Ziehen Sie in der Toolbox aus der Gruppe Daten ein GridView-Steuerelement auf die Seite.
Klicken Sie im Menü GridView-Aufgaben in der Liste Datenquelle auswählen auf XmlDataSource1.
Drücken Sie STRG+F5, um die Seite auszuführen.
Die XML-Daten werden auf der Seite in einem Raster angezeigt.
Die im GridView-Steuerelement angezeigten Daten veranschaulichen die folgenden Punkte hinsichtlich der Interpretation der XML-Daten:
Wenn die XML-Daten als Datensatz dargestellt werden, werden die Spalten standardmäßig aus Attributen erstellt (beispielsweise ISBN).
Untergeordnete Elemente werden als Teil einer separaten verknüpften Tabelle behandelt. In diesem Beispiel bindet das GridView-Steuerelement nicht an die comments-Elemente in der Datei.
Filtern von XML-Daten mit einem XPath-Ausdruck
Im ersten Teil dieser exemplarischen Vorgehensweise haben Sie sich auf das Standardverhalten des XmlDataSource-Steuerelements und des GridView-Steuerelements verlassen, um Informationen aus der XML-Datei zu extrahieren. In diesem Steuerelement werden aber nur einige der XML-Daten angezeigt.
In diesem Teil der exemplarischen Vorgehensweise fügen Sie ein zweites GridView-Steuerelement hinzu, mit dem Sie Master-Detail-Informationen anzeigen. Im ersten GridView-Steuerelement können Benutzer ein einzelnes Buch auswählen, und im zweiten GridView-Steuerelement werden ggf. die entsprechenden Benutzerkommentare für dieses Buch angezeigt. Zum Anzeigen von Kommentaren verwenden Sie eine XPath-Ausdruck, mit dem Sie angeben können, welche Ebene der XML-Datendatei Sie extrahieren möchten. Da Sie nur Kommentare für ein bestimmtes Buch anzeigen möchten, erstellen Sie den XPath-Ausdruck dynamisch, je nach ausgewähltem Buch.
Zunächst fügen Sie der Seite ein zweites GridView-Steuerelement hinzu, und dann konfigurieren Sie das GridView-Steuerelement so, dass in ihm Benutzerkommentare angezeigt werden.
So fügen Sie ein GridView-Steuerelement zum Anzeigen von Benutzerkommentaren hinzu
Wechseln Sie in die Entwurfsansicht.
Ziehen Sie in der Toolbox aus der Gruppe Daten ein GridView-Steuerelement auf die Seite, und platzieren Sie es unterhalb des ersten GridView-Steuerelements.
Das Menü GridView-Aufgaben wird angezeigt.
Klicken Sie im Feld Datenquelle auswählen auf Neue Datenquelle.
Der Assistent zum Konfigurieren von Datenquellen wird angezeigt.
Klicken Sie auf XML-Datei als Datenquelle.
Behalten Sie im Feld ID für Datenquellen angeben den Standardwert, XmlDataSource2, bei.
Klicken Sie auf OK.
Das Dialogfeld Datenquelle konfigurieren wird angezeigt.
Geben Sie ~/App_Data/Bookstore.xml im Feld Datendatei ein.
Sie verwenden die gleiche XML-Datei, die Sie weiter oben in dieser exemplarischen Vorgehensweise verwendet haben, aber Sie extrahieren daraus andere Informationen für das zweite GridView-Steuerelement.
Geben Sie im Feld XPath-Ausdruck den folgenden Ausdruck ein:
/bookstore/book/comments/userComment
Später ändern Sie im Code die XPath-Eigenschaft dynamisch. Wenn Sie aber einen XPath-Ausdruck für die Datenquelle jetzt definieren, unterstützen Sie die Tools in Visual Web Designer beim Bestimmen, welche Informationen letztendlich im Steuerelement angezeigt werden.
Klicken Sie auf OK.
Im zweiten GridView-Steuerelement werden Bewertungen und Benutzerkommentare als Beispieldaten angezeigt.
Wählen Sie das GridView2-Steuerelement aus, und legen Sie in den Eigenschaften die Option Sichtbar auf False fest.
Das zweite GridView-Steuerelement wird nur angezeigt, wenn der Benutzer im ersten GridView-Steuerelement ein Buch ausgewählt hat.
Sie können jetzt das erste GridView-Steuerelement so konfigurieren, dass Benutzer ein Buch auswählen können. Sie fügen auch Code hinzu, durch den ein XPath-Ausdruck basierend auf der Auswahl des Benutzers erstellt wird und dieser dann dem XmlDataSource2-Steuerelement zugewiesen wird. Im Endergebnis werden im zweiten GridView-Steuerelement die Benutzerkommentare zu dem ausgewählten Buch angezeigt.
So konfigurieren Sie das GridView-Steuerelement für eine Auswahl
Wechseln Sie zur Entwurfsansicht, und wählen Sie dann das erste GridView-Steuerelement aus.
Wählen Sie im Menü GridView-Aufgaben die Option Auswahl aktivieren aus.
Dem GridView-Steuerelement, das eine Verknüpfungsschaltfläche mit dem Text Auswählen enthält, wird eine neue Spalte hinzugefügt.
Legen Sie in Eigenschaften DataKeyNames auf ISBN fest.
Sie können auf das Eigenschaftenfeld klicken, um den Wert auszuwählen.
Dadurch wird das GridView-Steuerelement so konfiguriert, dass die ISBN-Eigenschaft als Primärschlüssel für jedes Element in den XML-Daten behandelt wird.
Klicken Sie auf das GridView-Steuerelement. Wählen Sie im Eigenschaftenfenster die Option Ereignisse aus der Dropdownliste im oberen Bereich des Eigenschaftenfensters aus. Dadurch werden alle dem Steuerelement zugeordneten Ereignisse angezeigt.
Doppelklicken Sie auf das Feld für das SelectedIndexChanged-Ereignis.
Dadurch wechseln Sie in den Code-Editor, und es wird ein Skeletthandler für das SelectedIndexChanged-Ereignis erstellt.
Fügen Sie dem Handler den folgenden hervorgehobenen Code hinzu.
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, _ ByVal e As System.EventArgs) _ Handles GridView1.SelectedIndexChanged Dim currentIndex As Integer currentIndex = GridView1.SelectedIndex Dim isbn As String isbn = CStr(GridView1.DataKeys(currentIndex).Value) XmlDataSource2.XPath = _ String.Format( _ "/bookstore/book[@ISBN='{0}']/comments/userComment", _ isbn) GridView2.Visible = true End Sub
protected void GridView1_SelectedIndexChanged(Object sender, EventArgs e) { String isbn = (String) GridView1.DataKeys[GridView1.SelectedIndex].Value; XmlDataSource2.XPath = String.Format( "/bookstore/book[@ISBN='{0}']/comments/userComment", isbn); GridView2.Visible = true; }
Der Code führt folgende Schritte aus:
Er verwendet die SelectedIndex-Eigenschaft (des GridView-Steuerelements), um einen Index für das Array von Datenschlüsseln zu erstellen und danach den Primärschlüssel der ausgewählten Zeile zurückzugeben. Zuvor legen Sie die DataKeyNames-Eigenschaft so fest, dass darin ISBN-Nummern enthalten sein können.
Er erstellt einen neuen XPath-Ausdruck, der die ausgewählte ISBN einschließt.
Er weist der XPath-Eigenschaft (des XmlDataSource2-Steuerelements) den neuen XPath-Ausdruck zu. Wenn der XPath-Eigenschaft ein neuer XPath-Ausdruck zugewiesen wird, wird das XmlDataSource-Steuerelement veranlasst, die von ihm zurückgegebenen Daten erneut auszuwerten. Das GridView-Steuerelement wird dagegen erneut an die Daten gebunden.
Er legt die Visible-Eigenschaft auf true fest, was zur Folge hat, dass das zweite GridView-Steuerelement angezeigt wird. Sie legen die Sichtbarkeit deklarativ auf false fest, wenn Sie das zweite GridView-Steuerelement so erstellt haben, dass es erst angezeigt wird, nachdem der Benutzer ein Buch ausgewählt hat.
Sie können die Seite jetzt testen.
So testen Sie das Filtern mit dem XPath-Ausdruck
Zeigen Sie die Seite Default.aspx an, und drücken Sie STRG+F5, um die Seite auszuführen.
Die Seite wird mit einem Raster von Informationen über Bücher angezeigt.
Klicken Sie auf die Verknüpfung Auswählen neben dem ersten Buch.
Die Kommentare über dieses Buch werden in einem zweiten Raster angezeigt.
Klicken Sie auf die Verknüpfung Auswählen neben dem letzten Buch.
Es werden keine Kommentare angezeigt, da für dieses Buch keine vorhanden sind.
Anzeigen von XML-Daten mit einem benutzerdefinierten Layout
Wenn Sie ein benutzerdefiniertes Layout für Daten erstellen möchten, können Sie ein DataList-Steuerelement verwenden. Im DataList-Steuerelement können Sie eine oder mehrere Vorlagen definieren. Jede Vorlage enthält eine Kombination aus statischem Text und Steuerelementen, die Sie in einem beliebigen Layout anordnen können.
In diesem Teil der exemplarischen Vorgehensweise verwenden Sie ein DataList-Steuerelement, um die gleichen Informationen anzuzeigen, die Sie zuvor mit dem GridView2-Steuerelement angezeigt haben. Sie können aber auch ein benutzerdefiniertes Layout für die Benutzerkommentare erstellen.
So zeigen Sie XML-Daten mit einem benutzerdefinierten Layout an
Wechseln Sie zur Entwurfsansicht, klicken Sie auf das GridView2-Steuerelement, und drücken Sie dann ENTF, um es von der Seite zu entfernen.
Ziehen Sie in der Toolbox aus der Gruppe Daten ein DataList-Steuerelement auf die Seite.
Klicken Sie im Menü DataList-Aufgaben in der Liste Datenquelle auswählen auf XmlDataSource2.
Sie verwenden für das DataList-Steuerelement die gleiche Datenquelle wie für das GridView2-Steuerelement.
Legen Sie in den Eigenschaften die Option Sichtbar auf false fest.
Wenn das Smarttag nicht angezeigt wird, klicken Sie mit der rechten Maustaste auf das DataList-Steuerelement, und klicken Sie dann auf Smarttag anzeigen.
Klicken Sie im Menü DataList-Aufgaben auf Vorlagen bearbeiten, und klicken Sie dann im Feld Anzeige auf Elementvorlage.
Das DataList-Steuerelement wird mit einem bearbeitbaren Bereich für die Elementvorlage angezeigt. Die Vorlage enthält ein Standardlayout, das aus statischem Text und Label-Steuerelementen besteht, die an die Spalten Rating und Comment im Datensatz gebunden sind. (Das DataList-Steuerelement kann die Struktur der anzuzeigenden Daten ableiten, da Sie weiter oben in dieser exemplarischen Vorgehensweise einen statischen XPath-Ausdruck für das XmlDataSource2-Steuerelement definiert haben.)
Ändern Sie im bearbeitbaren Bereich die erste Beschriftung in User rating:.
Ändern Sie die Beschriftung comment in Comment:.
Klicken Sie mit der rechten Maustaste auf die Titelleiste des DataList-Steuerelements, zeigen Sie auf Vorlage bearbeiten, und klicken Sie dann auf Trennzeichenvorlage.
Im DataList-Steuerelement wird ein weiterer bearbeitbarer Bereich angezeigt. Mit diesem kann das Layout für die Elemente definiert werden, die zwischen den einzelnen Datensätzen angezeigt werden.
Ziehen Sie in der Toolbox aus der Gruppe HTML ein Horizontal Rule-Steuerelement in den bearbeitbaren Bereich.
Klicken Sie mit der rechten Maustaste auf das DataList-Steuerelement, und klicken Sie dann auf Vorlagenbearbeitung beenden.
Klicken Sie mit der rechten Maustaste auf die Seite, und klicken Sie dann auf Code anzeigen, um zum Code für die Seite zu wechseln.
Ändern Sie im GridView1_SelectedIndexChanged-Handler die folgende Zeile:
GridView2.Visible = True
GridView2.Visible = true;
Das Ergebnis sähe wie folgt aus:
DataList1.Visible = True
DataList1.Visible = true;
Sie können jetzt das benutzerdefinierte Layout testen.
So testen Sie das benutzerdefinierte Layout
Zeigen Sie die Seite Default.aspx an, und drücken Sie STRG+F5, um die Seite auszuführen.
Die Seite wird mit einem Raster von Informationen über Bücher angezeigt.
Klicken Sie auf die Verknüpfung Auswählen neben dem ersten Buch.
Die Kommentare über das erste Buch werden in einer Liste angezeigt.
Klicken Sie auf die Verknüpfung Auswählen neben dem letzten Buch.
Es werden keine Kommentare angezeigt, da für dieses Buch keine vorhanden sind.
Verwenden von Transformationen zum Restrukturieren von XML-Daten
Die von Ihnen in dieser exemplarischen Vorgehensweise verwendete XML-Datei ist so strukturiert, dass die Eigenschaften der einzelnen Elemente als Attribute ausgedrückt werden. In vielen Fällen sind verwendete XML-Dateien anders strukturiert. Beispielsweise werden Werte in einer XML-Datei oft als Elemente mit innerem Text erstellt.
Wenn Sie über eine XML-Datei verfügen, deren Eigenschaftenwerte in einem anderen Format als durch Attribute ausgedrückt werden, können Sie eine Transformationsdatei (XSLT-Datei) erstellen, die die XML-Datei dynamisch neu formatieren kann, sodass diese kompatibel mit dem XmlDataSource-Steuerelement ist.
In diesem Teil der exemplarischen Vorgehensweise verwenden Sie eine XML-Datei, die die gleichen Daten enthält wie die vorher von Ihnen verwendete Datei Bookstore.xml. Die Daten sind jedoch anders strukturiert als in der Datei Bookstore.xml, Sie verwenden also eine Transformation, um sie dynamisch neu zu formatieren.
Zu Beginn dieses Abschnitts erstellen Sie eine zweite XML-Datei.
So erstellen Sie die zweite XML-Datei
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Ordner App_Data, und klicken Sie dann auf Neues Element hinzufügen.
Klicken Sie unter Von Visual Studio installierte Vorlagen auf XML-Datei.
Geben Sie Bookstore2.xml im Feld Name ein.
Klicken Sie auf Hinzufügen.
Eine neue XML-Datei wird erstellt, die nur die XML-Direktive enthält.
Kopieren Sie die folgenden XML-Daten, und fügen Sie sie in die Datei ein. Überschreiben Sie dabei den bereits vorhandenen Inhalt der Datei.
<?xml version="1.0" standalone="yes"?> <bookstore> <book ISBN="10-000000-001"> <title>The Iliad and The Odyssey</title> <price>12.95</price> <comments> <userComment rating="4"> Best translation I've read. </userComment> <userComment rating="2"> I like other versions better. </userComment> </comments> </book> <book ISBN="10-000000-999"> <title>Anthology of World Literature</title> <price>24.95</price> <comments> <userComment rating="3"> Needs more modern literature. </userComment> <userComment rating="4"> Excellent overview of world literature. </userComment> </comments> </book> <book ISBN="11-000000-002"> <title>Computer Dictionary</title> <price>24.95</price> <comments> <userComment rating="3"> A valuable resource. </userComment> </comments> </book> <book ISBN="11-000000-003"> <title>Cooking on a Budget</title> <price>23.95</price> <comments> <userComment rating="4">Delicious!</userComment> </comments> </book> <book ISBN="11-000000-004"> <title>Great Works of Art</title> <price>29.95</price> </book> </bookstore>
Speichern Sie die Datei Bookstore2.xml, und schließen Sie sie dann.
Sie benötigen jetzt eine Transformationsdatei, mit der die Daten in der Datei Bookstore2.xml in das attributbasierte Format konvertiert werden, das vom XmlDataSource-Steuerelement verwendet wird.
So erstellen Sie die Transformationsdatei
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Ordner App_Data, und klicken Sie dann auf Neues Element hinzufügen.
Klicken Sie unter Von Visual Studio installierte Vorlagen auf Textdatei.
Es ist keine Vorlage für eine Transformationsdatei vorhanden. Sie können sie also als Textdatei mit der richtigen Erweiterung erstellen.
Geben Sie Bookstore2.xsl im Feld Name ein.
Hinweis: Vergewissern Sie sich, dass Sie die Erweiterung .xsl verwenden.
Klicken Sie auf Hinzufügen.
Eine neue leere Datei wird erstellt.
Kopieren Sie den folgenden Transformationscode, und fügen Sie ihn dann in die Datei ein.
<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msxsl="urn:schemas-microsoft-com:xslt" > <xsl:strip-space elements="*"/> <xsl:output method="xml" omit-xml-declaration="yes" indent="yes" standalone="yes" /> <xsl:template match="/"> <xsl:for-each select="bookstore"> <xsl:element name="bookstore"> <xsl:for-each select="book"> <xsl:element name="book"> <xsl:attribute name="ISBN"> <xsl:value-of select="@ISBN"/> </xsl:attribute> <xsl:attribute name="title"> <xsl:value-of select="title"/> </xsl:attribute> <xsl:attribute name="price"> <xsl:value-of select="price"/> </xsl:attribute> </xsl:element> </xsl:for-each> </xsl:element> </xsl:for-each> </xsl:template> </xsl:stylesheet>
Speichern Sie die Datei Bookstore2.xsl, und schließen Sie sie dann.
Ab hier ähnelt das Arbeiten mit den XML-Daten den zuvor in dieser exemplarischen Vorgehensweise beschriebenen Vorgängen. In diesem Fall können Sie aber beim Konfigurieren des XmlDataSource-Steuerelements die Transformationsdatei angeben. Im letzten Teil dieser exemplarischen Vorgehensweise erstellen Sie eine neue Seite. Anschließend wiederholen Sie einige der Schritte aus dem ersten Teil der exemplarischen Vorgehensweise. Dieses Mal werden jedoch die Daten aus der Datei Bookstore2.xml angezeigt.
So konfigurieren Sie den Datenzugriff auf die XML-Datei
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Website, und klicken Sie anschließend auf Neues Element hinzufügen.
Klicken Sie unter Von Visual Studio installierte Vorlagen auf Web Form.
Geben Sie Bookstore2.aspx im Feld Name ein.
Klicken Sie auf Hinzufügen.
Wechseln Sie in die Entwurfsansicht.
Ziehen Sie in der Toolbox aus der Gruppe Daten ein XmlDataSource-Steuerelement auf die Seite.
Klicken Sie im Menü XmlDataSource-Aufgaben auf Datenquelle konfigurieren.
Das Dialogfeld Datenquelle konfigurieren wird angezeigt.
Geben Sie ~/App_Data/Bookstore2.xml im Feld Datendatei ein.
Geben Sie ~/App_Data/Bookstore2.xsl im Feld Transformationsdatei ein.
Klicken Sie auf OK.
Ziehen Sie in der Toolbox aus der Gruppe Daten ein GridView-Steuerelement auf die Seite.
Klicken Sie im Menü GridView-Aufgaben in der Liste Datenquelle auswählen auf XmlDataSource1.
Drücken Sie STRG+F5, um die Seite auszuführen.
Die XML-Daten werden auf der Seite in einem Raster angezeigt. Die Daten werden werden im Raster genauso wie auf der ersten Seite angezeigt, obwohl das Format der zugrunde liegenden XML-Datei dieses Mal anders ist.
Nächste Schritte
In dieser exemplarischen Vorgehensweise wurden nur die Grundlagen für die Arbeit mit einem XML-Dokument und mit Transformationen beschrieben. In einer echten Anwendung müssen Sie mit dem XML-Dokument oft intensiver arbeiten. Nachfolgend einige Vorschläge zur weiteren Untersuchung:
Erstellen von anspruchsvolleren Transformationen. In dieser exemplarischen Vorgehensweise wurde nur ein Beispiel für das Verwenden von Transformationen dargestellt. XSL ist eine leistungsstarke Sprache mit anspruchsvoller Unterstützung nicht nur für das Erstellen von HTML-Seiten. Praktisch jede Art von Transformation von XML in eine andere Struktur wird optimal unterstützt.
Schreiben von XML-Dokumenten (zusätzlich zum Lesen). Mit dem Xml-Steuerelement können Sie auf eine einfache Art und Weise den Inhalt einer XML-Datei auf einer ASP.NET-Webseite anzeigen. Sie können XML-Dateien jedoch auch selbst erstellen und ändern. Ausführliche Informationen finden Sie unter XML-Dokumente und XML-Daten. Ein Beispiel für das Schreiben in eine XML-Datei finden Sie unter Exemplarische Vorgehensweise: Anzeigen und Nachverfolgen von Werbung mit dem AdRotator-Steuerelement.
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Anzeigen von hierarchischen Daten in einem TreeView-Steuerelement
Exemplarische Vorgehensweise: Erstellen einer einfachen Webseite in Visual Web Developer