CatchXML()

Syntax

Ergebnis = CatchXML(#XML, *Adresse, Laenge [, Flags [, Kodierung]])
Beschreibung
Erstellt einen neuen XML-Baum aus den XML-Daten des angegebenen Speicherbereichs '*Adresse'. Das "Markup" (Formatierung) kann durch mehrfachen Aufruf dieser Funktion in Blöcken analysiert werden, um das Analysieren (Parsen) von XML-Daten zu erlauben, während diese zum Beispiel vom Netzwerk eintreffen. Wenn #PB_Any als '#XML' Parameter verwendet wird, dann wird die Nummer des neuen XML-Baums als 'Ergebnis' zurückgegeben.

Parameter

'*Adresse' und 'Laenge' müssen eine lesbare Speicherposition angeben. Wenn 'Flags' nicht angegeben wird, dann muss der Speicherblock alle XML-Daten beinhalten. Um XML in mehreren Blöcken zu parsen, können die folgenden Flags verwendet werden:
  #PB_XML_StreamStart: Startet das Parsen mit dem ersten Block
  #PB_XML_StreamNext : Setzt das Parsen mit einem neuen Block fort
  #PB_XML_StreamEnd  : Beendet das Parsen nach diesem Block
Wenn diese Funktion mit #PB_XML_StreamStart oder #PB_XML_StreamEnd aufgerufen wird, dann kann der Parameter 'Laenge' 0 sein, um die Parser-Operation zu starten/zu beenden, ohne dabei weitere Daten zu analysieren.

Beachten Sie beim Parsen in Blöcken, dass auf alle schon analysierten Daten im XML-Baum bereits vor einem Aufruf mit #PB_XML_StreamEnd zugegriffen werden kann.

Der optionale Parameter 'Kodierung' kann verwendet werden, um den Parser zur Verwendung einer bestimmten Kodierung zu zwingen. (Dies überschreibt das Kodierungs-Set in der XML-Deklaration!) Mögliche Werte sind #PB_Ascii, #PB_Unicode oder #PB_UTF8. Dieser Parameter sollte verwendet werden, wenn das Dokument keine XML-Deklaration hat, oder die Kodierungs-Information außerhalb des XML-Dokuments bereitgestellt wird, zum Beispiel durch einen Mime-Type-Header in einem Kommunikationsprotokoll.

Rückgabewert

Diese Funktion gibt nur 0 bei Speicherfehlern oder ungültigen Flags zurück. Um eine Überprüfung auf Parser-Fehler vorzunehmen, sollte XMLStatus() verwendet werden. Im Falle eines Parser-Fehlers kann auf alle vor dem Fehler analysierten ("geparsten") Daten im XML-Baum zugegriffen werden.

Unterstützte OS

Alle

XML Inhaltsverzeichnis - ChildXMLNode() ->