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: AttributnameattributeValue: 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 KnotensnodeName: Name des KnotensattributeSubelement: 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
GetNodeNamemitSelectSingleNode, 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
// 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"
// 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 (Standardfalse); 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ückgibtxml1...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 KnotennameanyNodes: 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 XMLxPathQuery: 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
// 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>"}
// 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>"}
// 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" );
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 mitLengthgezä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-AbfrageanyNodes: 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
// Wählt alle Knoten mit den angegebenen Namen aus
SelectNodesFromXMLAny("Account|Customer|Name", Root$Any#.);
// 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
// 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>
// 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");
// 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.