Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird die Verwendung der starts-with()
XPath-Funktion beschrieben.
Ursprüngliche Produktversion: Microsoft XML
Ursprüngliche KB-Nummer: 303516
Übersicht
Es ist eine allgemeine Programmieranforderung, wenn Sie ein XML-Dokument mithilfe des Microsoft XML (MSXML)-Dokumentobjektmodells (MSXML) laden und analysieren, um Elemente und/oder Elemente mit Attributen zu identifizieren, deren Werte mit einem bestimmten Zeichen oder einer bestimmten Abfolge von Zeichen beginnen. Dieser Artikel enthält ein Codebeispiel, das veranschaulicht, wie Sie diese Anforderung mithilfe der starts-with
XPath-Zeichenfolgenfunktion (XML Path Language) implementieren können.
Schritt-für-Schritt-Beispiel
Erstellen Sie in Notepad ein neues XML-Dokument mit dem Namen Books.xml, und fügen Sie den folgenden XML-Code ein:
<?xml version="1.0"?> <!-- This file represents a fragment of a bookstore inventory database --> <bookstore specialty="novel"> <book style="autobiography"> <author> <first-name>Joe</first-name> <last-name>Bob</last-name> <award>Trenton Literary Review Honorable Mention</award> </author> <price>12</price> </book> <book style="textbook"> <author> <first-name>Mary</first-name> <last-name>Bob</last-name> <publication>Selected Short Stories of <first-name>Mary</first-name> <last-name>Bob</last-name> </publication> </author> <price>55</price> </book> </bookstore>
Speichern Sie Books.xml im Stammordner von Laufwerk C.
Öffnen Sie ein neues Standard EXE-Projekt in Visual Basic. Formular1 wird standardmäßig erstellt.
Klicken Sie im Menü "Projekt " auf "Verweise", und aktivieren Sie dann das Kontrollkästchen "Microsoft XML 3.0 ".
Ziehen Sie eine Befehlsschaltfläche, und legen Sie sie auf Form1 ab.
Kopieren Sie den folgenden Code, und fügen Sie ihn in die
Click
Ereignisprozedur der Befehlsschaltfläche ein:Dim doc As MSXML2.DOMDocument Dim nlist As MSXML2.IXMLDOMNodeList Dim node As MSXML2.IXMLDOMNode Set doc = New MSXML2.DOMDocument doc.setProperty "SelectionLanguage", "XPath" doc.Load "c:\books.xml" Set nlist = doc.selectNodes("//book/author/first-name[starts-with(.,'M')]") MsgBox "Matching Nodes : " & nlist.length For Each node In nlist Debug.Print node.nodeName & " : " & node.Text Next
Im vorherigen Code wird der XML-Code aus Books.xml in eine Instanz des MSXML-Objekts
DOMDocument
geladen. Anschließend wird eine XPath-Abfrage ausgeführt, die diestarts-with
XPath-Funktion verwendet, um alle Autoren zu identifizieren, deren Vornamen mit dem Buchstaben M beginnen. Schließlich durchläuft die For-Schleife die ausgewählten Knoten und zeigt die Vornamen der übereinstimmenden Autorenelemente an.Der erste Parameter der
starts-with
XPath-Funktion wird verwendet, um den Quellknoten oder die Zeichenfolge anzugeben, mit dem der Vergleich ausgeführt werden soll. Der zweite Parameter ist die Musterzeichenfolge, die das Zeichen oder die Zeichenfolge angibt, die im Vergleich verwendet werden soll. Es ist wichtig zu beachten, dass bei der Musterzeichenfolge, die als zweiter Parameter derstarts-with
-Funktion angegeben wird, die Groß- und Kleinschreibung beachtet werden muss.