Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
XPath- und HTML-, XML- oder JSON-Ausdrücke
Die erweiterte Richtlinieninfrastruktur unterstützt Ausdrücke zum Auswerten und Abrufen von Daten aus HTML-, XML- und JavaScript-Object Notation (JSON) -Dateien. Auf diese Weise können Sie bestimmte Knoten in einem HTML-, XML- oder JSON-Dokument suchen, feststellen, ob ein Knoten in der Datei vorhanden ist, Knoten in XML-Kontexten suchen (z. B. Knoten mit bestimmten Eltern oder ein bestimmtes Attribut mit einem bestimmten Wert) und den Inhalt dieser Knoten zurückgeben. Darüber hinaus können Sie XPath-Ausdrücke in Rewrite-Ausdrücken verwenden.
Die Implementierung des erweiterten Richtlinienausdrucks für XPath umfasst ein Präfix für erweiterte Richtlinienausdrücke (z. B. “HTTP.REQ.BODY”), das HTML- oder XML-Text bezeichnet, und den XPATH-Operator, der den XPath-Ausdruck als Argument verwendet.
HTML-Dateien sind eine weitgehend freie Sammlung von Tags und Textelementen. Sie können den XPATH_HTML-Operator verwenden, der einen XPath-Ausdruck als Argument verwendet, um HTML-Dateien zu verarbeiten. JSON-Dateien sind entweder eine Sammlung von Namen/Wert-Paaren oder eine geordnete Liste von Werten. Sie können den XPATH_JSON-Operator verwenden, der einen XPath-Ausdruck als Argument verwendet, um JSON-Dateien zu verarbeiten.
-
<text>.XPATH(xpathex):
Verwenden Sie eine XML-Datei und geben Sie einen booleschen Wert zurück.
Der folgende Ausdruck gibt beispielsweise einen booleschen TRUE zurück, wenn ein Knoten namens “creator” innerhalb der ersten 1000 Byte der XML-Datei unter dem Knoten “Book” existiert.
HTTP.REQ.BODY(1000).XPATH(xp%boolean(//Book/creator)%)
Parameter:
xpathex - XPath Boolescher Ausdruck
-
<text>.XPATH(xpathex):
Arbeiten Sie auf einer XML-Datei und geben Sie einen Wert des Datentyps “double. “
Der folgende Ausdruck konvertiert beispielsweise die Zeichenfolge “36” (ein Preiswert) in einen Wert vom Datentyp “double”, wenn sich die Zeichenfolge in den ersten 1000 Byte der XML-Datei befindet:
HTTP.REQ.BODY(1000).XPATH(xp%number(/Book/price)%)
Parameter:
xpathex - XPath - numerischer Ausdruck
Beispiel:
<Book>
<creator>
<Person>
<name>Milton</name>
</Person>
</creator>
<title>Paradise Lost</title>
</Book>
-
<text>.XPATH(xpathex):
Arbeiten Sie an einer XML-Datei und geben Sie einen Knotensatz oder eine Zeichenfolge zurück. Knotensätze werden mit der Standard-XPath-String-Konvertierungsroutine in entsprechende Strings konvertiert.
Der folgende Ausdruck wählt beispielsweise alle Knoten aus, die von “/book/creator” (einem Knotensatz) in den ersten 1000 Bytes des Körpers eingeschlossen sind:
HTTP.REQ.BODY(1000).XPATH(xp%/Book/creator%)
Parameter:
xpathex - XPath-Ausdruck
-
<text>.XPATH_HTML(xpathex)
Arbeiten Sie an einer HTML-Datei und geben Sie einen Textwert zurück.
Der folgende Ausdruck funktioniert beispielsweise für eine HTML-Datei und gibt den Text zurück, der in
<title\></title\>
Tags eingeschlossen ist, wenn das title-HTML-Element in den ersten 1000 Bytes gefunden wird:HTTP.REQ.BODY(1000).XPATH_HTML(xp%/html/head/title%)
Parameter:
xpathex - XPath-Textausdruck
-
<text>.XPATH_HTML_WITH_MARKUP(xpathex)
Arbeiten Sie an einer HTML-Datei und geben Sie eine Zeichenfolge zurück, die den gesamten ausgewählten Teil des Dokuments enthält, einschließlich Markups, z. B. das Einschließen der umschließenden Element-Tags.
Der folgende Ausdruck wirkt auf die HTML-Datei und wählt den gesamten Inhalt innerhalb des <\title>-Tags, einschließlich Markup.
HTTP.REQ.BODY(1000).XPATH_HTML_WITH_MARKUP( xp%/html/head/title%)
Der durch den Ausdruck ausgewählte Teil des HTML-Body wird zur weiteren Verarbeitung markiert.
Parameter:
xpathex - XPath-Ausdruck
-
<text>.XPATH_JSON(xpathex)
Arbeiten Sie an einer JSON-Datei und geben Sie einen booleschen Wert zurück.
Betrachten Sie beispielsweise die folgende JSON-Datei:
{"Buch": {"creator": {"person": {"name" :’<name>’}}, "title" :’<title>’ } }
Der folgende Ausdruck arbeitet für die JSON-Datei und gibt einen booleschen TRUE zurück, wenn die JSON-Datei einen Knoten namens “creator” enthält, dessen übergeordneter Knoten “Book” in den ersten 1000 Bytes lautet:
HTTP.REQ.BODY(1000).XPATH_JSON(xp%boolean(/Book/creator)%)
Parameter:
xpathex - XPath Boolescher Ausdruck
-
<text>.XPATH_JSON(xpathex)
Arbeiten Sie auf einer JSON-Datei und geben Sie einen Wert vom Datentyp “double. “
Betrachten Sie beispielsweise die folgende JSON-Datei:
{"Buch": {"creator": {"person": {"name" :’<name>’}}, "title" :’<title>’, "preis" :"36"}}
Der folgende Ausdruck arbeitet für die JSON-Datei und konvertiert die Zeichenfolge “36” in einen Wert vom Datentyp “double”, wenn die Zeichenfolge in den ersten 1000 Bytes der JSON-Datei vorhanden ist.
HTTP.REQ.BODY(1000).XPATH_JSON(xp%number(/Book/price)%)
Parameter:
xpathex - XPath - numerischer Ausdruck
-
<text>.XPATH_JSON(xpathex)
Arbeiten Sie an einer JSON-Datei und geben Sie einen Knotensatz oder eine Zeichenfolge zurück. Knotensätze werden mit der Standard-XPath-String-Konvertierungsroutine in entsprechende Strings konvertiert.
Betrachten Sie beispielsweise die folgende JSON-Datei:
{"Buch": {"creator": {"person": {"name" :’<name>’}}, "title" :’<title>’ } }
Der folgende Ausdruck wählt alle Knoten aus, die in den ersten 1000 Bytes des Hauptteils der JSON-Datei von "/Book" (einem Knotensatz) eingeschlossen sind, und gibt den entsprechenden String-Wert zurück, der ist"<name><title>":
HTTP.REQ.BODY(1000).XPATH_JSON(xp%/Book%)
Parameter:
xpathex - XPath-Ausdruck
-
<text>XPATH_JSON_WITH_MARKUP (xpathex)
Verwenden Sie eine XML-Datei, und geben Sie eine Zeichenfolge zurück, die den gesamten Teil des Dokuments für den Ergebnisknoten enthält, einschließlich Markups, z. B. das Einschließen der umschließenden Element-Tags.
Betrachten Sie beispielsweise die folgende JSON-Datei:
{"Buch": {"creator": {"person": {"name" :’<name>’}}, "title" :’<title>’ } }
Der folgende Ausdruck arbeitet auf der JSON-Datei und wählt alle Knoten aus, die von “/book/creator” in den ersten 1000 Bytes des Körpers eingeschlossen sind, also “creator: {person: {name: <name> ‘}}. “
HTTP.REQ.BODY(1000).XPATH_JSON_WITH_MARKUP(xp%/Book/creator%)
Der Teil des JSON-Body, der durch den Ausdruck ausgewählt wird, wird zur weiteren Verarbeitung markiert.
Parameter:
xpathex - XPath-Ausdruck
-
<text>XPATH_WITH_MARKUP (xpathex):
Verwenden Sie eine XML-Datei, und geben Sie eine Zeichenfolge zurück, die den gesamten Teil des Dokuments für den Ergebnisknoten enthält, einschließlich Markups, z. B. das Einschließen der umschließenden Element-Tags.
Der folgende Ausdruck arbeitet beispielsweise mit einer XML-Datei und wählt alle Knoten aus, die von “/book/creator” in den ersten 1000 Byte des Hauptteils eingeschlossen sind.
HTTP.REQ.BODY(1000).XPATH_WITH_MARKUP(xp%/Book/creator%)
Der Teil des JSON-Body, der durch den Ausdruck ausgewählt wird, wird zur weiteren Verarbeitung markiert.
Parameter:
xpathex - XPath-Ausdruck