| @XMLXPATH |
@XMLXPATH[["filename"],path]: XML XPath-Abfrage. Die Argumente sind:
Dateiname - Name der XML-Datei
path - ein oder mehrere Element-Accessors, getrennt durch ein /.
Wenn Sie keinen Dateinamen angeben (der in doppelten Anführungszeichen stehen *muss*), verwendet @XMLXPATH die XML-Datei, die zuvor mit @XMLOPEN geöffnet wurde.
Um ein Attribut zurückzugeben, stellen Sie dem Attributnamen ein @ voran.
Der Pfad ist eine Reihe von einem oder mehreren Element-Accessoren, die durch '/' getrennt sind. Der Pfad kann absolut (beginnend mit '/') oder relativ zur aktuellen XPath-Position sein. Die folgenden Werte sind für einen Element-Accessor möglich:
'name' |
Ein bestimmter Elementname |
name[i] |
Das i-te Unterelement des aktuellen Elements mit dem angegebenen Namen |
[i] |
Das i-te Unterelement des aktuellen Elements |
[last()] |
Das letzte Unterelement des aktuellen Elements |
[last()-i] |
das Unterelement, das sich an der letzten Stelle minus i im aktuellen Element befindet |
name[@attrname="attrvalue"] |
Das Unterelement, das einen bestimmten Wert für ein bestimmtes Attribut enthält (unterstützt einfache UND doppelte Anführungszeichen) |
.. |
Das übergeordnete Element des aktuellen Elements |
Beispiel:
Bookstore.xml :
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="jap">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
<book>
<title lang="ger">Day Watch</title>
<price>14.99</price>
</book>
<book>
<title lang="eng">Winston Churchill: An Autobiography</title>
<price>49.99</price>
</book>
</bookstore>
Bookstore.btm:
@ECHO OFF
SET a=%@XMLOPEN[bookstore.xml]
SET b=%@XMLNODES[/bookstore]
DO i = 1 to %b
SET Title= %@XMLXPATH[/bookstore/book[%i]/title]
SET Price= %@XMLXPATH[/bookstore/book[%i]/price]
ECHO %Title ` costs only ` %Price
ENDDO
SET c=%@XMLCLOSE[]
Ausführen von bookstore.btm Ausgaben:
Harry Potter costs only 29.99
Learning XML costs only 39.95
Day Watch costs only 14.99
Winston Churchill: An Autobiography costs only 49.99
XML-Fehler:
101 Ungültiger Attributindex
102 Keine Attribute vorhanden
103 Ungültiger Namespace-Index
104 Keine Namespaces verfügbar
105 Ungültiger Element-Index
106 Keine Elemente vorhanden
107 Attribut existiert nicht
201 Unausgewogenes Element-Tag
202 Unbekanntes Element-Präfix (Namespace kann nicht gefunden werden)
203 Unbekanntes Attribut-Präfix (kann keinen Namespace finden)
204 Ungültiges XML-Markup
205 Ungültiger Endstatus für Parser
206 Dokument enthält unausgewogene Elemente
207 Ungültiger XPath
208 Kein solches Kind
209 Oberstes Element stimmt nicht mit dem Anfang des Pfades überein
210 DOM-Baum nicht verfügbar
302 Datei kann nicht geöffnet werden
401 Ungültiges XML würde erzeugt werden
402 Es wurde ein ungültiger XML-Name angegeben