Function DE Version 10.01

@XMLNodeListGetNode

XML

Syntax

@XMLNodeListGetNode(XMLNL;Index);

Beschreibung

Diese @Function ermittelt einen bestimmten XML-Knoten aus einer zuvor erzeugten XML-NodeList.
Der gewünschte Knoten wird über einen numerischen Index ausgewählt. Die Indizierung beginnt bei 1.
Die vom XML-NodeList-Handle geerbten Flags werden auf das zurückgegebene XML-Node-Handle übernommen.

VSPECHXMLNODELIST
XMLNL:
Handle der XML-NodeList, aus der ein Knoten ermittelt werden soll.
XMLNL muss ein gültiges VSPECHXMLNODELIST (XMLNL) Handle enthalten.

FN Index:
Numerischer Index des zurückzugebenden Knotens.
Der erste Knoten besitzt den Index 1.
Der Index muss größer als 0 sein und darf die Anzahl der in der NodeList enthaltenen Knoten nicht überschreiten.

Return-Wert:
Wird ein gültiger XML-Knoten gefunden, liefert die @Function ein VSPECHXMLNODE (XMLN) Handle auf den ausgewählten Knoten zurück.
Ist der Index ungültig, das XML-NodeList-Handle ungültig oder handelt es sich beim ausgewählten Knoten nicht um ein XML-Element, liefert die @Function @ERROR.


Beispiel: @XMLNodeListGetNode(XMLNL;Index);

XML := "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<customers>" +
" <customer id=\"1\" />" +
" <customer id=\"2\" />" +
"</customers>";
hXMLD := @XMLParse(XML);
hXMLRoot := @XMLGetRoot(hXMLD);
hXMLNL := @XMLSelectNodes(hXMLRoot;"customer");
hCustomer := @XMLNodeListGetNode(hXMLNL;2);
CustomerID := @XMLGetAttribute(hCustomer;"A";"id");
@XMLNodeListRelease(hXMLNL);
@XMLRelease(hXMLD);

Das Beispiel ermittelt den zweiten Knoten der NodeList. CustomerID enthält anschließend den Wert "2".