How To Use XPath Queries in MSXML DOM SelectNodes-Methode

Artikel-ID: 288913 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Zusammenfassung

Um die XML-Dokumente mit Methoden wie z. B. SelectNodes oder SelectSingleNode DOM abzufragen, können Abfragen XML Path Language (XPath) verwendet werden. Die Standardabfrage, die verwendet wird, ist XSLPattern für Abwärtskompatibilität. Ändern Sie die SelectionLanguage interne Eigenschaft des DOMDocument , XPath, XPath verwenden möchten. XPath wird viel Funktionalität hinzugefügt, beispielsweise, Sie können Funktionen wie z. B. String-Length und Summe verwenden.

Weitere Informationen

Das folgende Codebeispiel veranschaulicht die Verwendung von XPath mit der SelectNodes -Methode veranschaulicht:
  1. Starten Sie Visual Basic und erstellen Sie eine neue Standard EXE-Datei.
  2. Im Menü Wählen Sie Projekte , wählen Sie Verweise und fügen Sie dann einen Verweis auf Microsoft XML, V3. 0 .
  3. Fügen Sie den folgenden Code hinzu Form_Load-Ereignis:
    Dim dom As DOMDocument30
    Dim nodelist As IXMLDOMNodeList
    Dim strPath As String
       
    Set dom = New DOMDocument30
    dom.async = False
       
    dom.loadXML "<Admin><Area AreaName='a'/></Admin>"
       
    dom.setProperty "SelectionLanguage", "XPath"
    strPath = "/Admin/Area[string-length(@AreaName) = 1]"
    Set nodelist = dom.documentElement.selectNodes(strPath)
       
    Debug.Print "Found " & nodelist.length & " Node"
    					
  4. Führen Sie die Anwendung, und beachten Sie, dass im Direktfenster 1 Knoten gefunden zeigt.
  5. Das Standardverhalten anzeigen möchten, kommentieren Sie die Codezeile, die SetProperty aufruft. Der Code dann ausgeführt wird eine Fehlermeldung erzeugt, da XSL-Mustervergleich String-Length -Funktion nicht unterstützt.
Hinweis:
  • Mit MSXML Version 2.6 müssen Sie einen Verweis auf Microsoft XML, v2.6 in Visual Basic-Projekts vornehmen und verwenden dann die entsprechende ProgID des DOMDocument26.
  • Wenn eine neuere Version von MSXML im Side-by-Side-Modus und dann auf Ausführen des Beispielcodes mit dieser bestimmten Version installiert wurde, müssen Sie explizit die GUIDs oder ProgIDs für diese Version verwenden. Z. B. MSXML Version 4 wird nur im Side-by-Side-Modus installiert. Sie finden Sie im folgenden Artikel in der Microsoft Knowledge Base finden Sie unter welche Änderungen am Code erforderlich, um den Beispielcode mit MSXML 4.0-Parser auszuführen: Q305019 Information: bestimmte MSXML 4.0-GUIDs und ProgIds. D. h. mit MSXML, Version 4.0, stellen Sie einen Verweis auf Microsoft XML, v4. 0 in der Visual Basic-Projekt und verwenden Sie dann die entsprechende ProgID des DOMDocument40.
  • Beim Programmieren mit Microsoft Visual C++ ist die SetProperty -Methode nur mit IXMLDOMDocument2 Schnittstelle verfügbar.
  • Der Einfachheit halber enthalten nicht der vorherige Code Fehlerüberprüfung. Es ist immer eine gute Vorgehensweise, Abfangen und Behandeln von Fehlern.

Informationsquellen

Weitere Informationen finden Sie die folgende KB-Artikelnummer:
317663Von Access XML-Daten mithilfe von DOM in .NET Framework mit Visual Basic .NET

Eigenschaften

Artikel-ID: 288913 - Geändert am: Donnerstag, 15. Juli 2004 - Version: 1.4
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft XML Parser 2.6
  • Microsoft XML Parser 3.0
  • Microsoft XML Core Services 4.0
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Keywords: 
kbmt kbhowto KB288913 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 288913
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