@XMLGetAttribute
Syntax
@XMLGetAttribute(XMLN;Options;Name);
@XMLGetAttribute(XMLN;Options;Name;Namespace);
Beschreibung
Diese @Function ermittelt den Wert eines bestimmten Attributes eines XML-Knotens.
Das Attribut wird anhand seines Namens gesucht. Optional kann zusätzlich ein Namespace angegeben werden. In diesem Fall müssen sowohl der Attributname als auch die Namespace-URI übereinstimmen.
Die Suchparameter werden entsprechend den für das XML-Handle gesetzten Zeichensatz-Flags nach UTF-8 konvertiert. Der zurückgegebene Attributwert wird entsprechend den gesetzten Output-Flags konvertiert.
Über den Parameter Options wird festgelegt, ob der Attributwert als Text oder als Binärpuffer zurückgegeben wird.
VSPECHXMLNODE XMLN:
Handle des XML-Knotens, dessen Attribute durchsucht werden sollen.
XMLN muss ein gültiges VSPECHXMLNODE (XMLN) Handle enthalten, das auf einen XML-Knoten verweist.
TEXT Options:
Legt den Datentyp des zurückgegebenen Attributwertes fest.
Option : Bedeutung
"A" : Gibt den Attributwert als TEXT zurück.
"B" : Gibt den Attributwert als VSPECBINBUFFER zurück.
Bei Option A darf der zurückgegebene Wert die maximale Größe eines Text-Items nicht überschreiten.
TEXT Name:
Name des gesuchten Attributes.
TEXT Namespace (Optional)
Wird kein Namespace angegeben, erfolgt die Suche ausschließlich anhand des Attributnamens.
Wird ein leerer Text ("") als Namespace angegeben, wird ausdrücklich nach einem Attribut ohne Namespace gesucht.
Return-Wert:
Wird das angegebene Attribut gefunden, liefert die @Function dessen Wert entsprechend Options als TEXT oder VSPECBINBUFFER zurück.
Wird das Attribut nicht gefunden, ist das übergebene XML-Node-Handle ungültig, ist Options ungültig oder tritt bei der Zeichensatzkonvertierung ein Fehler auf, liefert die @Function @ERROR.
Beispiel: @XMLGetAttribute(XMLN;Options;Name);
XML := "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<customer id=\"4711\" name=\"Example GmbH\" />";
hXMLD := @XMLParse(XML);
hXMLRoot := @XMLGetRoot(hXMLD);
CustomerID := @XMLGetAttribute(hXMLRoot;"A";"id");
@XMLRelease(hXMLD);
Das Beispiel liest den Wert des Attributes "id" des Root-Elements. CustomerID enthält anschließend den Text "4711".
Beispiel: @XMLGetAttribute(XMLN;Options;Name;Namespace);
XML := "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<customer xmlns:c=\"https://example.com/customer\" " +
"c:id=\"4711\" />";
hXMLD := @XMLParse(XML);
hXMLRoot := @XMLGetRoot(hXMLD);
CustomerID := @XMLGetAttribute(hXMLRoot;"A";"id";"https://example.com/customer");
@XMLRelease(hXMLD);
Das Beispiel liest den Wert des Attributes "id" mit der Namespace-URI "https://example.com/customer". CustomerID enthält anschließend den Text "4711".
