Zum Hauptinhalt springen

XmlGetValueInt

Dieser Befehl liefert Informationen zu einem mit ``XmlRead() gelesenen Knoten in der XML-Datei (obj).

Je nach Option (int1) können andere Werte zurückgegeben werden:

  • Option: Beschreibung
  • _XmlIsStandalone (1): Standalone?1 yes 0 no -1 nicht definiert oder Fehler Dieser Wert steht nach dem ersten XmlRead() zur Verfügung.
  • _XmlGetType (2): Typ des Knotens_XmlReaderTypeElement (1) Element _XmlReaderTypeAttribute (2) Attribut _XmlReaderTypeText (3) Text _XmlReaderTypeCDATA (4) Daten _XmlReaderTypeEntityReference (5) Verweis auf Textbaustein _XmlReaderTypeEntity (6) Textbaustein _XmlReaderTypePI (7) Verarbeitungsanweisung _XmlReaderTypeComment (8) Kommentar _XmlReaderTypeDocument (9) Dokument _XmlReaderTypeDocumentType (10) Dokumenttyp _XmlReaderTypeDocumentFragment (11) Dokumentfragment _XmlReaderTypeNotation (12) Notation _XmlReaderTypeWhitespace (13) Leerzeichen _XmlReaderTypeSigWhitespace (14) Leerzeichen _XmlReaderTypeEndElement (15) Elementende
  • _XmlGetNodeDepth (3): Ebenentiefe des Knotens
  • _XmlIsValid (7): Wurde Knoten validiert?1 Ja 0 Nein Liefert nur 1, wenn bei XmlOpenReader() die Option _XmlOpenReaderDTDValidate angegeben wurde und das Dokument bis zum aktuell gelesenen Knoten valide ist.
  • _XmlGetAttribCount (8): Anzahl der Attribute des Knotens

Ist ein Fehler aufgetreten wird _ErrGeneric zurückgegeben.

Beispiel:

// XmlReader öffnen
tXmlReader # XmlOpenReader('C:\File.xml', 'C:\Schema.xml');
if (tXmlReader > 0)
{
// Alle Knoten der XML-Datei durchgehen
while (tXmlReader->XmlRead() = _ErrOk)
{
// Knoten verarbeiten
if (tXmlReader->XmlGetValueInt(_XmlGetType) = _XmlReaderTypeElement)
{
tValue # tXmlReader->XmlGetValueAlpha(_XmlGetValue);

// Attribute des Knotens durchgehen
tAttribCount # tXmlReader->XmlGetValueInt(_XmlGetAttribCount);
if (tAttribCount > 0)
{
// Alle Attributknoten des aktuellen Knotens durchgehen
do
{
tXmlReader->XmlRead(_XmlReadAttribNode);
// Attributknoten verarbeiten
// ...

Dec(tAttribCount);
}
while (tAttribCount > 0);
}
}
}

// XmlReader schließen
tXmlReader->XmlClose();
}

Die Typen, die mit _XmlGetType ermittelt werden sind in folgendem Beispieldokument farblich gekennzeichnet:

  • _XmlReaderTypeElement
  • _XmlReaderTypeAttribute
  • _XmlReaderTypeText
  • _XmlReaderTypeCDATA
  • _XmlReaderTypeEntityReference
  • _XmlReaderTypeEntity
  • _XmlReaderTypePI
  • _XmlReaderTypeComment
  • _XmlReaderTypeDocument
  • _XmlReaderTypeDocumentType
  • _XmlReaderTypeDocumentFragment
  • _XmlReaderTypeNotation
  • _XmlReaderTypeWhitespace
  • _XmlReaderTypeSigWhitespace
  • _XmlReaderTypeEndElement
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<!DOCTYPE lager SYSTEM "lager.dtd">

<lager>
<eingang>
<!-- Eingang 1 -->
<eingangsnummer typ="int">452</eingangsnummer>
<artikel typ="str" nummer="45-234" menge="10">&SchSt; "Chef"</artikel>
<warenklasse typ="str"><![CDATA[C-III]]></warenklasse>
</eingang>
<ausgang>
<!-- Ausgang 1 -->
<ausgangsnummer>318</ausgangsnummer>
<artikel typ="str" nummer="37-917" menge="3">&SpSch; "Narziss"</artikel>
<beschreibung><![CDATA[F-IV]]></beschreibung>
</ausgang>
</lager>

Mögliche Laufzeitfehler: