Zum Inhalt springen

XML-Funktionen in Jitterbit Studio

XML-Funktionen werden typischerweise in Transformationszuordnungsskripten verwendet, die die Bearbeitung und den Zugriff auf XML-Daten erfordern.

Attribute

Deklaration

type Attribute(string attributeName, string attributeValue)

Syntax

Attribute(<attributeName>, <attributeValue>)

Erforderliche Parameter

  • attributeName: Attributname
  • attributeValue: Attributwert

Beschreibung

Erstellt ein Attribut für einen XML-Knoten. Siehe auch die Funktion CreateNode.

Beispiele

// Adds an attribute "name" with a value of "value"
Attribute("name","value");

CreateNode

Deklaration

string CreateNode(string namespace, string nodeName, type attributeSubelement[,...])

Syntax

CreateNode(<namespace>, <nodeName>, <attributeSubelement>[,...])

Erforderliche Parameter

  • namespace: Der Namespace des Knotens
  • nodeName: Name des Knotens
  • attributeSubelement: Ein Unterelement: ein Wert, ein Attribut oder ein Unterknoten

Optionale Parameter

  • attributeSubelement: Zusätzliche Unterelemente (ein Wert, ein Attribut oder ein Unterknoten), je nach Bedarf

Beschreibung

Erstellt eine Zeichenkette, die einen XML-Knoten darstellt. Wenn der Zielknoten der Wertknoten eines XML-Any-Knotens ist, wird ein XML-Element erstellt, das dem nodeName und nodeValue entspricht.

Ab dem dritten Argument können eine Reihe von Werten, Attributen und Unterknoten angegeben werden. Werte werden direkt angegeben. Attribute und Unterknoten können mit den Funktionen Attribute bzw. CreateNode erstellt werden.

Beispiele

// Creates a node with a sub-node
CreateNode("http://example.com/xml",
    "Contact", "Bill  G.", Attribute("Type", "VIP"),
    CreateNode("http://example.com/xml",
        "Title", "Manager")
    );

GetNodeName

Deklaration

string GetNodeName(type path)

Syntax

GetNodeName(<path>)

Erforderliche Parameter

  • path: Ein Zeichenketten-Referenzpfadausdruck, der einen einzelnen Knoten in der aktuellen Transformation oder rohes XML auswählt

Beschreibung

Ruft den Namen eines Knotens ab. Diese Methode wird typischerweise verwendet, um den Namen eines Knotens abzurufen, der von einer der Funktionen SelectNodeFromXMLAny oder SelectSingleNode zurückgegeben wird.

Um einen Pfad zu einem Knoten in die Funktion für den Parameter path einzugeben, ziehen Sie den gewünschten XML-Knotenordner von der Registerkarte Quellobjekte der Skriptkomponentenpalette in das Skript, um seinen qualifizierten Pfad an der Cursorposition einzufügen, oder geben Sie seinen Referenzpfad manuell ein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Quellobjekten.

Beispiele

// Retrieves the name of a node
GetNodeName(SelectNodeFromXMLAny("Account", Root$Any.));

Praktisches Beispiel

  • XML-Nachrichten nach Knotentyp weiterleiten: Kombination von GetNodeName mit SelectSingleNode, um zu ermitteln, welcher von mehreren Nachrichtentypen eine Nutzlast enthält, und dann zur entsprechenden Operation weiterzuleiten.

GetNodeValue

Deklaration

string GetNodeValue(type path)

Syntax

GetNodeValue(<path>)

Erforderliche Parameter

  • path: Ein Zeichenketten-Referenzpfadausdruck, der einen einzelnen Knoten in der aktuellen Transformation oder rohes XML auswählt

Beschreibung

Ruft den Wert eines Knotens ab. Diese Methode wird typischerweise verwendet, um den Wert eines Knotens abzurufen, der von einer der Funktionen SelectNodeFromXMLAny oder SelectSingleNode zurückgegeben wird.

Um einen Pfad zu einem Knoten in die Funktion für den Parameter path einzugeben, ziehen Sie den gewünschten XML-Knotenordner von der Registerkarte Source Objects der Skriptkomponentenpalette in das Skript, um seinen qualifizierten Pfad an der Cursorposition einzufügen, oder geben Sie seinen Referenzpfad manuell ein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Quellobjekten.

Beispiele

Beispiel 1
// XML definition
xmlInput = '<?xml version="1.0" encoding="UTF-8"?>
<root>
    <father>
        <child>
            <name>John Smith</name>
            <age>20</age>
        </child>
        <child>
            <name>Jordan Coleman</name>
            <age>32</age>
        </child>
        <child>
            <name>Joel Parker</name>
            <age>54</age>
        </child>
        <child>
            <name>Roger Wright</name>
            <age>28</age>
        </child>
    </father>
</root>';

// Retrieve the name of the second child:

exampleArray = GetNodeValue(SelectNodes(xmlInput, "/root/father/child[position() = 2]/name"));
result = exampleArray[0];
// Equals "Jordan Coleman"
Beispiel 2
// Ruft den Wert eines Knotens ab
GetNodeValue(SelectNodeFromXMLAny("Account", Root$Any.));

GetXMLString

Deklaration

string GetXMLString(type path[, bool qualified])

Syntax

GetXMLString(<path>[, <qualified>])

Erforderliche Parameter

  • path: Ein String-Referenzpfadausdruck, der einen einzelnen Knoten in der aktuellen Transformation auswählt. Der definierte Pfad muss für einen Knoten gelten; spezifische Felder und Attribute werden bei der Pfadauswertung ignoriert

Optionale Parameter

  • qualified: Ein boolescher Wert (Standard false); wenn qualifiziert (true), ist die zurückgegebene XML-Zeichenkette leichter zu lesen, ist aber möglicherweise nicht selbst gültiges XML

Beschreibung

Gibt (wenn in einer Transformationszuordnung verwendet) die entsprechende XML-Zeichenkette zurück, die im XML-Quelldokument unter dem angegebenen Pfad gefunden wird.

Um einen Pfad zu einem Knoten in die Funktion für den Parameter path einzugeben, ziehen Sie den gewünschten XML-Knotenordner von der Registerkarte Source Objects der Skriptkomponentenpalette in das Skript, um seinen qualifizierten Pfad an der Cursorposition einzufügen, oder geben Sie seinen Referenzpfad manuell ein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Quellobjekten.

Hinweis

Der definierte Pfad muss für einen Knoten gelten; spezifische Felder und Attribute werden bei der Pfadauswertung ignoriert.

Beispiele

// Ruft die entsprechende XML-Zeichenkette unter dem angegebenen Pfad ab
GetXMLString([Header$DETAIL.]);
// Ruft die entsprechende XML-Zeichenkette unter dem angegebenen Pfad ab
GetXMLString([root$transaction.response$body$queryResponse$result$records.Case$Account$]);

IsNil

Deklaration

bool IsNil(string path)

Syntax

IsNil(<path>)

Erforderliche Parameter

  • path: Ein String-Referenzpfadausdruck, der einen einzelnen Knoten in der aktuellen Transformation auswählt

Beschreibung

Gibt (wenn in einer Formula Builder-Zuordnung verwendet) zurück, ob der entsprechende XML-Knoten das Attribut "xsi:nil" mit dem Wert true (oder 1) hat.

Um einen Pfad zu einem Knoten in die Funktion für den Parameter path einzugeben, ziehen Sie den gewünschten XML-Knotenordner von der Registerkarte Source Objects der Skriptkomponentenpalette in das Skript, um seinen qualifizierten Pfad an der Cursorposition einzufügen, oder geben Sie seinen Referenzpfad manuell ein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Quellobjekten.

Wie in XML Schema beschrieben, kann ein Element gültig sein, ohne Inhalt zu haben, wenn es das Attribut xsi:nil mit dem Wert true hat.

Beispiele

// Gibt zurück, ob der Knoten nil ist
IsNil("Header$DETAIL.");

RunXSLT

Deklaration

array RunXSLT(string xslt, string xml1[, string xml2,... string xmlN)

Syntax

RunXSLT(<xslt>, <xml1>[, <xml2>,... <xmlN>])

Erforderliche Parameter

  • xslt: Ein String-Referenzpfad zu einer Aktivität, die einem Datei-Typ-Endpoint im aktuellen Projekt zugeordnet ist und ein XSLT-Stylesheet zurückgibt
  • xml1...xmlN: Ein String-Referenzpfad zu einer Aktivität, die einem Datei-Typ-Endpoint im aktuellen Projekt zugeordnet ist und ein oder mehrere XML-Dokumente zurückgibt

Beschreibung

Unterstützt die Ausführung von XSLT (v1-3) auf mehreren XML-Eingabedokumenten. Nimmt ein XSLT-Stylesheet und ein oder mehrere XML-Dokumente als Eingabe und gibt ein Array von XML-Dokumenten zurück.

Der Parameter xslt, der in diesem Funktionsaufruf verwendet wird, muss als Aktivität definiert sein, die einem Datei-Typ-Endpoint im aktuellen Projekt zugeordnet ist und ein XSLT-Stylesheet zurückgibt. Die Parameter xml1...xmlN, die in diesem Funktionsaufruf verwendet werden, müssen als eine oder mehrere Aktivitäten definiert sein, die Datei-Typ-Endpoints im aktuellen Projekt zugeordnet sind und ein oder mehrere XML-Dokumente zurückgeben. Dazu gehören konfigurierte File Share-, FTP-, HTTP-, Local Storage- und Temporary Storage-Aktivitäten. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Endpoints.

Wenn die XSLT-Stylesheets eingebettete verschachtelte JSON-Instanzen enthalten, die beibehalten werden müssen, setzen Sie die Variable jitterbit.transformation.ignore_default_value upstream dieser Funktion auf true. Diese Variable wird bei Verwendung von Agents ab Version 11.36 unterstützt.

Verweisen auf Dateien innerhalb eines XSLT-Stylesheets

Obwohl Jitterbit umfangreiche XSLT-Unterstützung bietet, müssen Projekte, die XSLT verwenden, Regeln befolgen, um die Sicherheitsstandards zu erfüllen. Diese Regeln bedeuten, dass der Zugriff auf Dateien oder URIs immer über Aktivitäten erfolgen muss, die im selben Projekt definiert sind.

Um auf diese Dateien oder URIs in einem Stylesheet zu verweisen, verwenden Sie die XSLT-Funktion fn:doc und geben Sie 'param1' für die erste XML-Eingabe, 'param2' für die zweite XML-Eingabe und so weiter für jede zusätzliche XML-Datei an.

Angenommen, Sie verarbeiten drei XML-Dateien (customers, salesPeople, salesOrders), können Sie auf diese im XSLT-Stylesheet wie folgt verweisen:

<xsl:for-each select="doc('param1')/*:Customers/*:SalesOrder[customer_external_id!=''][sales_person_external_id!='']">
...
<xsl:for-each select="doc('param2')/*:SalesPeople/*:Account[*:customer_id/string(number(text()))=$CustomerExtId][1]">
...
<xsl:for-each select="doc('param3')/*:SalesOrders/*:SalesOrder[customer_external_id!=''][sales_person_external_id!='']">

Wenn Sie eine einzelne XML-Eingabedatei haben, ist es nicht erforderlich, die Syntax doc('param1') zu verwenden, da Jitterbit den initialen Kontext auf diese einzelne Datei setzt.

Angeben eines Start-Templates im Stylesheet

In einigen Situationen muss Jitterbit wissen, wo im Stylesheet die Verarbeitung beginnen soll. Dies wird erreicht, indem im Stylesheet ein Template mit dem spezifischen Namen start_here eingefügt wird:

<xsl:template name="start_here" match="/">

Zur Fehlerbehebung siehe RunXSLT schlägt fehl mit "XML version must be 1.0 or 1.1" im Leitfaden zur Fehlerbehebung bei Operationen.

Beispiele

// Running XSLT on XML Files

// Read in a stylesheet
xslt = ReadFile("<TAG>activity:ftp/FTP Endpoint/ftp_read/XSLT</TAG>");

// Read in two XML files for processing
xml1 = ReadFile("<TAG>activity:ftp/FTP Endpoint/ftp_read/XML1</TAG>");
xml2 = ReadFile("<TAG>activity:ftp/FTP Endpoint/ftp_read/XML2</TAG>");

// RunXSLT on the stylesheet and the two XML files
output = RunXSLT(xslt, xml1, xml2);

// As RunXSLT() returns an array,
// retrieve the output from each element
i = 0;
While(i < Length(output),
  // Write output to a file
  WriteFile("<TAG>activity:ftp/FTP Endpoint/ftp_write/XML Output FTP</TAG>",
    output[i], "output" + (i+1) + ".xml");
  i++;
);

SelectNodeFromXMLAny

Deklaration

type SelectNodeFromXMLAny(string nodeName, type anyNodes)

Syntax

SelectNodeFromXMLAny(<nodeName>, <anyNodes>)

Erforderliche Parameter

  • nodeName: Der gewünschte Knotenname
  • anyNodes: Der Datenelement-Pfad eines Wertknotens eines XML Any-Elements, ein String-Referenzpfad-Ausdruck zu einem Array von XML-Knoten in der aktuellen Transformation oder rohes XML

Beschreibung

Gibt den ersten XML-Knoten aus einer Liste von XML Any-Knoten zurück, die dem Knotennamen entsprechen.

Um einen Pfad zu einem Array von XML-Knoten in die Funktion für den Parameter anyNodes einzugeben, ziehen Sie den gewünschten XML-Knotenordner von der Registerkarte Source Objects der Skriptkomponentenpalette in das Skript, um seinen qualifizierten Pfad an der Cursorposition einzufügen, oder geben Sie seinen Referenzpfad manuell ein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Quellobjekten.

Beispiele

// Looks for the first node that matches "Account"
SelectNodeFromXMLAny("Account", Root$Any#.);

SelectNodes

Deklaration

array SelectNodes(type node, string xPathQuery[, string xPathArg1,... string xPathArgN])

Syntax

SelectNodes(<node>, <xPathQuery>[, <xPathArg1>,... <xPathArgN>])

Erforderliche Parameter

  • node: Ein Zeichenfolgen-Referenzpfadausdruck zum gewünschten Knoten in der aktuellen Transformation, ein XML-Fragment zum Ausführen der Abfrage oder rohes XML
  • xPathQuery: Der Datenelement-Pfad eines Wertknotens eines XML-Any-Elements

Optionale Parameter

  • xPathArg1...xPathArgN: Präfixe, die die Namespaces von Knoten in der XPath-Abfrage angeben

Beschreibung

Führt eine XPath-Abfrage (siehe XPath-Standard, v1-v3) für ein XML-Fragment oder einen von einer anderen Funktion zurückgegebenen XML-Knoten aus und gibt die Ergebnisse der Abfrage zurück.

Wenn die optionalen Präfixe verwendet werden, um die Namespaces des Knotens in der XPath-Abfrage anzugeben, müssen die Präfixe als ein oder mehrere Zeichenfolgenargumente nach dem XPath angegeben werden (siehe das zweite Beispiel).

Um einen Pfad zu einem Knoten in die Funktion für den Parameter node einzugeben, ziehen Sie den gewünschten XML-Knotenordner von der Registerkarte Source Objects der Skriptkomponentenpalette in das Skript, um seinen qualifizierten Pfad an der Cursorposition einzufügen, oder geben Sie seinen Referenzpfad manuell ein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Quellobjekten.

Um HTML-Zeichen zu unterstützen, setzen Sie jitterbit.decode.html.chars upstream dieser Funktion auf true. Diese Variable wird mit Zeichenfolgendaten bei Verwendung von 10.49-Agenten und später unterstützt.

Beispiele

Beispiel 1
// XML definition
xmlInput = '<?xml version="1.0" encoding="UTF-8"?>
<root>
    <father>
        <child>
            <name>John Smith</name>
            <age>20</age>
        </child>
        <child>
            <name>Jordan Coleman</name>
            <age>32</age>
        </child>
        <child>
            <name>Joel Parker</name>
            <age>54</age>
        </child>
        <child>
            <name>Roger Wright</name>
            <age>28</age>
        </child>
    </father>
</root>';

// Retrieve all the XML nodes that match the XPath query:

SelectNodes(xmlInput, "/root/father/child");
// Returns {"<child> <name>John Smith</name> <age>20</age> </child>","<child> <name>Jordan Coleman</name> <age>32</age> </child>","<child> <name>Joel Parker</name> <age>54</age> </child>","<child> <name>Roger Wright</name> <age>28</age> </child>"}

// Retrieve a range of nodes using a position argument with the XPath query:

SelectNodes(xmlInput, "/root/father/child[position() > 2 and position() <= 4]");
// Returns {"<child> <name>Joel Parker</name> <age>54</age> </child>","<child> <name>Roger Wright</name> <age>28</age> </child>"}
Beispiel 2
// XML definition with root namespace
xmlInput = '<?xml version="1.0" encoding="UTF-8"?>
<ns0:root xmlns:ns0="urn:ean.ucc:align:2">
    <father>
        <child>
            <name>John Smith</name>
            <age>20</age>
        </child>
        <child>
            <name>Jordan Coleman</name>
            <age>32</age>
        </child>
        <child>
            <name>Joel Parker</name>
            <age>54</age>
        </child>
        <child>
            <name>Roger Wright</name>
            <age>28</age>
        </child>
    </father>
</ns0:root>';

// Retrieve all the XML nodes that match the XPath query with a namespace considered:

SelectNodes(xmlInput, "/ns0:root/father/child", "ns0=urn:ean.ucc:align:2");
// Returns {"<child> <name>John Smith</name> <age>20</age> </child>","<child> <name>Jordan Coleman</name> <age>32</age> </child>","<child> <name>Joel Parker</name> <age>54</age> </child>","<child> <name>Roger Wright</name> <age>28</age> </child>"}
Beispiel 3
// Connects to an LDAP server, runs a search,
// and then runs an XPath query on the results
LDAPConnect("directory.company.example.com","ghvwright","1LikesPe@ches",0);
searchResults = LDAPSearch("CN=Users,DC=company,DC=example,DC=com",
    "(&(objectCategory=person)(objectClass=user))", 1,
    "name", "whenCreated", "description", "telephoneNumber");
resultNodes = SelectNodes(searchResults,
    "/DirectoryResults/Entry[name='Administrator']/whenCreated" );
Beispiel 4
SelectNodes(Root$Any$,
    "ns1:E2/ns2:E3",
    "ns1=http://xyz1.example.com/",
    "ns2=http://xyz2.example.com/");

Hinweis

In diesem zweiten Beispiel ist der Referenzknoten ein XML-Knoten für einen XML-Any-Knoten. In der XPath-Abfrage ist ns1:E2 nicht der Referenzknoten selbst.

Da die Präfixe ns1 und ns2 in der XPath-Abfrage verwendet werden, werden sie als zusätzliche Argumente nach dem XPath definiert.

In der Praxis

  • XML-Nachrichten nach Knotentyp weiterleiten: Testen, ob ein Knoten vorhanden ist, indem die Ergebnisse einer SelectNodes-Abfrage mit Length gezählt werden, einschließlich der Behandlung einer Payload mit Namespace.

SelectNodesFromXMLAny

Deklaration

array SelectNodesFromXMLAny(string xPathQuery, type anyNodes[, string xPathArg1,... string xPathArgN])

Syntax

SelectNodesFromXMLAny(<xPathQuery>, <anyNodes>[, <xPathArg1>,... <xPathArgN>])

Erforderliche Parameter

  • xPathQuery: Eine XPath-Abfrage
  • anyNodes: Der Datenelement-Pfad eines Wertknotens eines XML-Any-Elements, ein Zeichenfolgen-Referenzpfadausdruck zu einem Array von XML-Knoten in der aktuellen Transformation oder rohes XML

Optionale Parameter

  • xPathArg1...xPathArgN: Präfixe, die die Namespaces der Knoten in der XPath-Abfrage angeben

Beschreibung

Gibt ein Array aller XML-Knoten zurück, die einer XPath-Abfrage entsprechen (siehe XPath-Standard, v1-v3), die entweder für einen Pfad eines Wertknotens eines XML-Any-Elements oder für ein Array von XML-Knoten ausgeführt wird.

Wenn die optionalen Präfixe verwendet werden, um die Namespaces des Knotens in der XPath-Abfrage anzugeben, müssen die Präfixe als ein oder mehrere Stringargumente nach der XPath angegeben werden (siehe das zweite Beispiel).

Um einen Pfad zu einem Array von XML-Knoten in die Funktion für den Parameter anyNodes einzugeben, ziehen Sie den gewünschten XML-Knotenordner von der Registerkarte Source Objects der Skriptkomponentenpalette in das Skript, um seinen qualifizierten Pfad an der Cursorposition einzufügen, oder geben Sie seinen Referenzpfad manuell ein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Quellobjekten.

Beispiele

Beispiel 1
// Wählt alle Knoten mit den angegebenen Namen aus
SelectNodesFromXMLAny("Account|Customer|Name", Root$Any#.);
Beispiel 2
// Wählt nur E-Mail-Adressen und Telefonnummern aus
$nodes = SelectNodesFromXMLAny("cust:EmailAddress|cust:PhoneNumber",
    Customer$Any#., "cust=urn:xmlns:25hoursaday-com:customer");

SelectSingleNode

Deklaration

type SelectSingleNode(type node, string xPath,...)

Syntax

SelectSingleNode(<node>, <xPath>,...)

Erforderliche Parameter

  • node: Ein Stringreferenzpfadausdruck zum gewünschten Knoten in der aktuellen Transformation, ein XML-Fragment, auf dem die Abfrage ausgeführt werden soll, oder rohes XML

  • xPathQuery: Der Datenelement-Pfad eines Wertknotens eines XML-Any-Elements

Optionale Parameter

  • xPathArg1...xPathArgN: Präfixe, die die Namespaces der Knoten in der XPath-Abfrage angeben

Beschreibung

Führt eine XPath-Abfrage (siehe XPath-Standard, v1-v3) entweder auf einem XML-Fragment oder auf einem XML-Knoten aus, der von einer anderen Funktion zurückgegeben wird, und gibt den ersten Knoten in den Ergebnissen der Abfrage zurück.

Wenn die optionalen Präfixe verwendet werden, um die Namespaces des Knotens in der XPath-Abfrage anzugeben, müssen die Präfixe als ein oder mehrere Stringargumente nach der XPath angegeben werden (siehe das zweite Beispiel).

Um einen Pfad zu einem Knoten in die Funktion für den Parameter node einzugeben, ziehen Sie den gewünschten XML-Knotenordner von der Registerkarte Source Objects der Skriptkomponentenpalette in das Skript, um seinen qualifizierten Pfad an der Cursorposition einzufügen, oder geben Sie seinen Referenzpfad manuell ein. Weitere Informationen finden Sie in den Anweisungen zum Einfügen von Quellobjekten.

Um HTML-Zeichen zu unterstützen, setzen Sie jitterbit.decode.html.chars upstream dieser Funktion auf true. Diese Variable wird mit Stringdaten bei Verwendung von 10.49-Agenten und später unterstützt.

Zur Fehlerbehebung siehe SelectSingleNode gibt den falschen Knoten zurück, wenn es mit einem SelectNodes-Array-Element verwendet wird im Leitfaden zur Fehlerbehebung bei Operationen.

Beispiele

Beispiel 1
// XML definition
xmlInput = '<?xml version="1.0" encoding="UTF-8"?>
<root>
    <father>
        <child>
            <name>John Smith</name>
            <age>20</age>
        </child>
        <child>
            <name>Jordan Coleman</name>
            <age>32</age>
        </child>
        <child>
            <name>Joel Parker</name>
            <age>54</age>
        </child>
        <child>
            <name>Roger Wright</name>
            <age>28</age>
        </child>
    </father>
</root>';

// Retrieve the first matching node given an XPath query:

SelectSingleNode(xmlInput, "/root/father/child");
// Returns <child> <name>John Smith</name> <age>20</age> </child>
Beispiel 2
// Connects to an LDAP server, runs a search,
// runs an XPath query on the results, and
// selects the first node in the query results
LDAPConnect("directory.company.example.com", "ghvwright", "1LikesPe@ches", 0);
searchResults = LDAPSearch("CN=Users,DC=company,DC=example,DC=com",
    "(&(objectCategory=person)(objectClass=user))", 1, "name",
    "whenCreated", "description", "telephoneNumber");
resultNode = SelectSingleNode(searchResults,
    "/DirectoryResults/Entry[name='Administrator']/whenCreated");
Beispiel 3
// Selects the first node in an XPath query result.
// The reference node is an XML node for an XML Any node.
// In the XPath query, "ns1:E2" is not the reference node itself.
// Since the prefixes ns1 and ns2 are used in the XPath query,
// they are defined as additional arguments after the XPath.
SelectSingleNode(Root$Any$,
    "ns1:E2/ns2:E3",
    "ns1=http://xyz1.example.com",
    "ns2=http://xyz2.example.com/");

Praktische Anwendung

  • XML-Nachrichten nach Knotentyp weiterleiten: Auswahl des einzelnen Elements unter einem festen übergeordneten Element und anschließendes Lesen seines Namens mit GetNodeName, um den Nachrichtentyp einer Nutzlast zu bestimmen.