SO WIRD'S GEMACHT: XML-Abfrage mit XPath-Ausdruck in Visual C# .NET

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 308333 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D308333
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
308333 HOW TO: Query XML with an XPath Expression Using Visual C# .NET
In Artikel 301220 wird dieses Thema für Microsoft Visual Basic .NET behandelt.
Hinweis: Die Verwendung der hier aufgeführten Informationen sowie Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionalität sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen.

Weitere Informationen zu den von Microsoft angebotenen Supportoptionen finden Sie unter folgender Internetadresse:
http://support.microsoft.com/
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt, wie Sie ein XPathDocument-Objekt mit einem XPath-Ausdruck (XPath = XML Path Language) über die Klasse XPathNavigator abfragen. XPath wird in Programmen zur Auswertung von Ausdrücken und zur Auswahl bestimmter Knoten in einem Dokument verwendet.

Voraussetzungen

In der folgenden Liste sind die empfohlene Hardware, Software, Netzwerkinfrastruktur und die erforderlichen Service Packs aufgeführt:
  • Visual C# .NET
Dieser Artikel geht davon aus, dass Sie mit folgenden Themen vertraut sind:
  • XML-Terminologie
  • Erstellen und Lesen einer XML-Datei
  • XPath-Syntax

XML-Abfrage mit einem XPath-Ausdruck

  1. Erstellen Sie eine neue Visual C#-Konsolenanwendung in Visual Studio .NET.

    Hinweis: In diesem Beispiel wird eine Datei namens "Books.xml" verwendet. Sie können eine eigene Datei Books.xml oder das Beispiel verwenden, das in den Schnellstarts im .NET Software Development Kit (SDK) enthalten ist. Wenn Sie die Schnellstarts nicht installiert haben und nicht installieren möchten, finden Sie die Adresse zum Herunterladen von Books.xml im Abschnitt "Informationsquellen". Wenn Sie die Schnellstarts installiert haben, finden Sie die Datei in folgendem Ordner:
    Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    Sie müssen die Datei in den Ordner "\Bin\Debug" kopieren, der sich unter dem Ordner befindet, in dem Sie dieses Projekt erstellt haben.
  2. Stellen Sie sicher, dass das Projekt einen Verweis auf den Namespace System.Xml enthält.
  3. Verwenden Sie die Anweisung using für die Namespaces Xml und XPath, damit Sie später keine Deklarationen in diesen Namespaces in Ihrem Code vornehmen müssen. Sie müssen die Anweisung using vor allen anderen Anweisungen verwenden:
  4. Deklarieren Sie die entsprechenden Variablen. Deklarieren Sie ein XPathDocument-Objekt für das XML-Dokument, ein XpathNavigator-Objekt zur Auswertung von XPath-Ausdrücken und ein XPathNodeIterator-Objekt für die Iteration über ausgewählte Knoten. Deklarieren Sie ein String-Objekt für die XPath-Ausdrücke. Fügen Sie den Deklarationscode in der Main-Funktion in Class1 hinzu.
  5. Laden Sie ein XPathDocument mit der Beispieldatei "Books.xml". Die Klasse XPathDocument verwendet XSLT (Extensible Stylesheet Language Transformations), um einen schnellen, leistungsorientierten Cache für die Verarbeitung von XML-Dokumenten zu bieten. Es ähnelt dem XML-DOM (Document Object Model), ist jedoch für die XSLT-Verarbeitung und das XPath-Datenmodell hoch optimiert.
  6. Erstellen Sie aus dem Dokument ein XPathNavigator-Objekt. Das XPathNavigator-Objekt wird für schreibgeschützte XPath-Abfragen verwendet. Die XPath-Abfragen können einen Ergebniswert oder viele Knoten zurückliefern.
  7. Erstellen Sie einen XPath-Ausdruck, um die durchschnittlichen Kosten eines Buches zu ermitteln. Dieser XPath-Ausdruck gibt einen Einzelwert zurück. Detailinformationen zur XPath-Syntax finden Sie unter "XPath-Syntax" im Abschnitt "Informationsquellen".
  8. Mit der Methode Evaluate des Objekts XPathNavigator werten Sie den XPath-Ausdruck aus. Die Methode Evaluate liefert die Ergebnisse des Ausdrucks zurück.
  9. Erstellen Sie einen XPath-Ausdruck, um alle Bücher zu suchen, die mehr als 10 Dollar kosten. Dieser XPath-Ausdruck liefert nur Titelknoten aus der XML-Quelle zurück.
  10. Erstellen Sie einen XPathNodeIterator für die Knoten, die mit der Methode Select des Objekts XPathNavigator ausgewählt wurden. Der XPathNodeIterator stellt ein XPath-NodeSet dar und unterstützt deshalb Operationen, die auf dieses NodeSet angewendet werden.
  11. Verwenden Sie den XPathNodeIterator, der von der Methode Select des Objekts XPathNavigator zurückgegeben wurde, um die ausgewählten Knoten zu durchlaufen. In diesem Fall können Sie die Methode MoveNext des XPathNodeIterator für die Iteration über alle ausgewählten Knoten verwenden.
  12. Mit der Methode ReadLine können Sie die Konsolenanzeige am Ende anhalten, um die Ergebnisse besser anzuzeigen.
  13. Erstellen Sie das Projekt und führen Sie es aus. Die Ergebnisse werden im Konsolenfenster angezeigt.

Problembehandlung

Beim Testen des Codes können Sie folgende Ausnahmefehlermeldung erhalten:
'Eine nicht behandelte Ausnahme des Typs 'System.Xml.XmlException' ist in in System.xml.dll aufgetreten.

'Zusätzliche Informationen: Systemfehler.
Die Ausnahme ist in der folgenden Codezeile aufgetreten: Die Ausnahme wird durch eine ungültige Verarbeitungsanweisung verursacht. Die Anweisung kann z.B. überflüssige Leerzeichen enthalten. Beispiel für eine ungültige Verarbeitungsanweisung: So können Sie die Ausnahme auflösen:
  • Korrigieren Sie die ungültige Verarbeitungsanweisung. Beispiel für eine gültige Verarbeitungsanweisung: -ODER-
  • Beispiel für eine gültige Verarbeitungsanweisung: Entfernen Sie die XML-Verarbeitungsanweisung aus der Datei "Books.xml".

Informationsquellen

Die folgende Datei steht im Microsoft Download Center zum Download zur Verfügung:
Bild minimierenBild vergrößern
Download
Books.xml jetzt downloaden.
Weitere Informationen finden Sie auf folgenden Websites:
"XML in .NET: .NET Framework XML Classes and C# Offer Simple, Scalable Data Manipulation"
http://msdn.microsoft.com/msdnmag/issues/01/01/xml/default.aspx 

XPathNavigator Class
http://msdn.microsoft.com/de-de/library/system.xml.xpath.xpathnavigator.aspx 

XPathDocument Class
http://msdn.microsoft.com/de-de/library/system.xml.xpath.xpathdocument.aspx 

XPathNodeIterator Class
http://msdn.microsoft.com/de-de/library/system.xml.xpath.xpathnodeiterator.aspx 

XSLT Transformations with the XslTransform Class
http://msdn.microsoft.com/de-de/library/47yh29a9.aspx

XPath Syntax
http://msdn.microsoft.com/de-de/library/ms256471.aspx

"XML Path Language (XPath)"
Version 1.0: W3C Recommendation 16 November 1999
http://www.w3.org/TR/1999/REC-xpath-19991116

Eigenschaften

Artikel-ID: 308333 - Geändert am: Montag, 14. März 2011 - Version: 3.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual C# .NET 2002 Standard Edition
Keywords: 
kbdownload kbhowtomaster KB308333
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com