Heim > Artikel > Backend-Entwicklung > Angeben der Achse in der XPath-Abfrage (Nachdruck aus dem MSSQL-Handbuch)
Das folgende Beispiel zeigt, wie eine Achse in einer XPath-Abfrage angegeben wird. Die XPath-Abfragen in diesen Beispielen werden für das in SampleSchema1.xml enthaltene Zuordnungsschema angegeben. Informationen zu diesem Beispielschema finden Sie unter Beispiel-XPath-Abfrage.
Beispiel
Abrufen der untergeordneten Elemente des Kontextknotens
Dieser XPath fragt alle untergeordneten Elemente des ausgewählten Kontextknotens ab:
/child::Employee
In dieser Abfrage , „Kind“ ist die Achse und „Kunde“ der Knotentest (dieser Test ist WAHR, wenn „Kunde“ ein 1dd643d91c792abd0a34d1b312e2f207-Knoten ist, da 1dd643d91c792abd0a34d1b312e2f207 der primäre Knotentyp ist, der der untergeordneten Achse zugeordnet ist).
Kind ist die Standardachse. Daher kann die Abfrage wie folgt geschrieben werden:
/Employee
Testen der XPath-Abfrage auf dem Zuordnungsschema
Erstellen Sie die folgende Vorlage (MyTemplate.xml) und speichern Sie sie in dem Verzeichnis, das dem virtuellen Namen der Vorlage zugeordnet ist.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema2.xml"> /Employee </sql:xpath-query> </ROOT>
Die folgende URL führt die Vorlage aus:
http://IISServer/VirtualRoot/template/MyTemplate.xml
XPath-Abfrage kann direkt in der URL angegeben werden:
http://IISServer/nwind/schema/SampleSchema1.xml/child::Customer?root=root
Das virtuelle Namensschema ist der Schematyp. Schemadateien werden in dem Verzeichnis gespeichert, das dem virtuellen Namen des Schematyps zugeordnet ist. Der Root-Parameter gibt das Element der obersten Ebene für das resultierende XML-Dokument an (Root kann ein beliebiger Wert sein).
Das Folgende ist ein Teilergebnissatz der Vorlagenausführung:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <Employee EmployeeID="1" LastName="Davolio" FirstName="Nancy" Title="Sales RePResentative" /> <Employee EmployeeID="2" LastName="Fuller" FirstName="Andrew" Title="Vice President, Sales" /> ... </ROOT>
B. Rufen Sie die Enkelknoten des Kontextknotens ab.
Dieser XPath fragt das untergeordnete Element c214b1127c801bd6a2a45c5b466f54b2 ab Der ausgewählte Kontextknoten. Alle untergeordneten Elemente von 7e7d629a61e1c649d53a7e569305f73a:
/child::Customer/child::Order
In dieser Abfrage ist „child“ die Achse und „Customer“ und „Order“ sind Knotentests (falls „Customer“ und „Order“) 1dd643d91c792abd0a34d1b312e2f207-Knoten, dann sind diese Knotentests WAHR, da der 1dd643d91c792abd0a34d1b312e2f207-Knoten der Hauptknoten der untergeordneten Achse ist. Für jeden Knoten, der mit c214b1127c801bd6a2a45c5b466f54b2 übereinstimmt, wird dem Ergebnis ein Knoten hinzugefügt, der mit 100fdf8091fa655ad847e46c0cb82106 übereinstimmt. Im Ergebnissatz wird nur 7e7d629a61e1c649d53a7e569305f73a zurückgegeben.
Kind ist die Standardachse. Daher kann diese Abfrage wie folgt angegeben werden:
/Customer/Order
Testen der XPath-Abfrage auf dem Zuordnungsschema
Erstellen Sie die folgende Vorlage (MyTemplate.xml) und speichern Sie sie im Verzeichnis.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="SampleSchema1.xml"> /Customer/Order </sql:xpath-query> </ROOT>
Das Obige ist der Inhalt der Angabe der Achse in der XPath-Abfrage (Nachdruck aus dem MSSQL-Handbuch. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn). !