ADC

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 JSON-Dateien (JavaScript Object Notation). Auf diese Weise können Sie bestimmte Knoten in einem HTML-, XML- oder JSON-Dokument finden, feststellen, ob ein Knoten in der Datei vorhanden ist, Knoten in XML-Kontexten finden (z. B. Knoten, die bestimmte Eltern oder ein bestimmtes Attribut mit einem bestimmten Wert haben) und den Inhalt solcher 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 formlose 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 Name/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):

    Bearbeiten 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)%)

    Die Parameter:

    xpathex - Boolescher XPath-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 - Numerischer XPath-Ausdruck

Beispiel:

    <Book>
    <creator>
        <Person>
            <name>Milton</name>
        </Person>
    </creator>
    <title>Paradise Lost</title>
    </Book>
<!--NeedCopy-->
  • <text>.XPATH(xpathex):

    Arbeiten Sie mit einer XML-Datei und geben Sie ein Node-Set 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)

    Bearbeiten Sie eine HTML-Datei und geben Sie einen Textwert zurück.

    Der folgende Ausdruck arbeitet beispielsweise mit einer HTML-Datei und gibt den in <title\></title\> Tags eingeschlossenen Text zurück, wenn das Titel-HTML-Element in den ersten 1000 Byte gefunden wird:

    HTTP.REQ.BODY(1000).XPATH_HTML(xp%/html/head/title%)

    Parameter:

    xpathex - XPath-Textausdruck

  • <text>.XPATH_HTML_WITH_MARKUP(xpathex)

    Bearbeiten Sie eine HTML-Datei und geben Sie eine Zeichenfolge zurück, die den gesamten ausgewählten Teil des Dokuments enthält, einschließlich Markup, z. B. einschließlich 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 Teil des HTML-Hauptteils, der durch den Ausdruck ausgewählt wird, ist für die weitere Verarbeitung markiert.

    Parameter:

    xpathex - XPath-Ausdruck

  • <text>.XPATH_JSON(xpathex)

    Bearbeiten Sie eine JSON-Datei und geben Sie einen booleschen Wert zurück.

    Betrachten Sie beispielsweise die folgende JSON-Datei:

    { “Book”:{ “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 - Boolescher XPath-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:

    { “Book”:{ “creator”:{ “person”:{ “name”:’<name>’ } }, “title”:’<title>’, “price”:”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 - Numerischer XPath-Ausdruck

  • <text>.XPATH_JSON(xpathex)

    Arbeiten Sie mit einer JSON-Datei und geben Sie einen Node-Set 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:

    { “Book”:{ “creator”:{ “person”:{ “name”:’<name>’ } }, “title”:’<title>’ } }

    Der folgende Ausdruck wählt alle Knoten aus, die von “/Book” (einem Knotensatz) in den ersten 1000 Byte des Hauptteils der JSON-Datei eingeschlossen sind, und gibt den entsprechenden Zeichenfolgenwert zurück, der “<name><title>” ist:

    HTTP.REQ.BODY(1000).XPATH_JSON(xp%/Book%)

    Parameter:

    xpathex - XPath-Ausdruck

  • <text>.XPATH_JSON_WITH_MARKUP(xpathex)

    Bearbeiten 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 Markup, z. B. einschließlich der umschließenden Element-Tags.

    Betrachten Sie beispielsweise die folgende JSON-Datei:

    {“Book”:{ “creator”:{ “person”:{ “name”:’<name>’ } }, “title”:’<title>’ } }

    Der folgende Ausdruck arbeitet mit der JSON-Datei und wählt alle Knoten aus, die von “/Book/creator” in den ersten 1000 Byte des Textkörpers eingeschlossen sind, d. h. “creator:{ person:{ name:’<name>’ } }.”

    HTTP.REQ.BODY(1000).XPATH_JSON_WITH_MARKUP(xp%/Book/creator%)

    Der Teil des JSON-Texts, der durch den Ausdruck ausgewählt wird, ist für die weitere Verarbeitung markiert.

    Parameter:

    xpathex - XPath-Ausdruck

  • <text>.XPATH_WITH_MARKUP(xpathex):

    Bearbeiten 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 Markup, z. B. einschließlich 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-Texts, der durch den Ausdruck ausgewählt wird, ist für die weitere Verarbeitung markiert.

    Parameter:

    xpathex - XPath-Ausdruck

XPath- und HTML-, XML- oder JSON-Ausdrücke

In diesem Artikel