Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób używania starts-with()
funkcji XPath.
Oryginalna wersja produktu: Microsoft XML
Oryginalny numer KB: 303516
Podsumowanie
Jest to typowe wymaganie programistyczne podczas ładowania i analizowania dokumentu XML przy użyciu modelu obiektów dokumentów Microsoft XML (MSXML) w celu identyfikowania elementów i/lub elementów z atrybutami, których wartości zaczynają się od określonego znaku lub sekwencji znaków. Ten artykuł zawiera przykładowy kod, który pokazuje, jak można użyć starts-with
funkcji ciągu XML Path Language (XPath) w celu zaimplementowania tego wymagania.
Przykład krok po kroku
W Notatniku utwórz nowy dokument XML o nazwie Books.xmli wklej następujący kod XML:
<?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>
Zapisz Books.xml w folderze głównym dysku C.
Otwórz nowy projekt EXE w warstwie Standardowa w Visual Basic. Formularz1 jest tworzony domyślnie.
Z menu Projekt kliknij Odwołania, a następnie zaznacz pole wyboru Microsoft XML 3.0.
Przeciągnij przycisk Przycisk polecenia i upuść go na Form1.
Skopiuj i wklej następujący kod w
Click
procedurze zdarzenia przycisku Polecenie :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
Powyższy kod ładuje kod XML z Books.xml do wystąpienia obiektu MSXML
DOMDocument
. Następnie wykonuje zapytanie XPath, które używastarts-with
funkcji XPath do identyfikowania wszystkich autorów, których imiona zaczynają się od litery M. Na koniec pętla For iteruje przez wybrane węzły i wyświetla pierwsze nazwy pasujących elementów autora.Pierwszy parametr
starts-with
funkcji XPath służy do określania węzła źródłowego lub ciągu, względem którego ma zostać wykonane porównanie. Drugi parametr to ciąg wzorca, który określa znak lub sekwencję znaków, która ma być używana w porównaniu. Należy pamiętać, że ciąg wzorca, który jest dostarczany jako drugi parametrstarts-with
funkcji, jest uwzględniany wielkość liter.