Extensible Markup Language (XML) ist eine plattformunabhängige Teilmenge der Standard Generalized Markup Language (SGML), mit der Informationen gespeichert und ausgetauscht werden können. Bei der Arbeit mit XML-Dokumenten können Daten mit einem Parser extrahiert und bearbeitet werden, ohne dass das XML-Format direkt übersetzt wird. So wird beispielsweise in der Kernspezifikation des Document Object Model (DOM) eine Programmierschnittstelle zum Erstellen, Lesen und Bearbeiten von XML-Dokumenten definiert. Mit den DOM-Kernspezifikationen werden die Eigenschaften und Methoden definiert, die vom XML-Parser unterstützt werden müssen. LabVIEW arbeitet mit dem Xerces-2.7-Parser, der eine DOM-API (Document Object Model) verwendet.

Mit Hilfe des XML-Parsers und den XML-Parser-VIs und -Knoten lassen sich XML-Dokumente schreiben, lesen und bearbeiten.

Die XML-Parser-VIs ermöglichen es, wie im folgenden Blockdiagramm dargestellt von LabVIEW aus auf einen plattformübergreifenden XML-Parser zuzugreifen.

Beispiele zur Arbeit mit den XML-Parser-VIs finden Sie im Verzeichnis labview\examples\File IO\XML\Parse XML.

Nach ähnlichen Beispielen suchen

Mit dem VI Neu wird eine XML-Parser-Session erzeugt und eine XML-Dokumentreferenz ausgegeben. Sie können ein XML-Dokument erstellen, ein vorhandenes Dokument in den XML-Parser laden oder Dokumenteinstellungen konfigurieren.

Zum Bearbeiten einer vorhandenen Datei kann ein XML-Dokument mit Hilfe der Methode Datei laden in den Speicher geladen werden. LabVIEW kann auf das XML-Dokument zugreifen – es sei denn, der XML-Parser findet im Dokument einen Fehler, der die Analyse verhindert. Diese XML-bezogenen Fehler werden am Ausgang Parsing-Fehler angezeigt.

Mit der Methode XML erfassen (Quelltextformatierung) lässt sich der Inhalt eines XML-Dokuments mit Hilfe von Quelltextformatierung in einen String formatieren. Während der Quelltextformatierung werden nicht darstellbare Zeichen und Zeilenendzeichen (EOL) hinzugefügt. Daher lassen sich XML-Daten einfacher lesen. Verwenden Sie die Methode XML erfassen, wenn keine Quelltextformatierung erforderlich ist. Im vorherigen Blockdiagramm zeigt der Ausgang XML den Inhalt des XML-Dokuments an.

Mit dem VI Schließen wird die XML-Dokumentreferenz geschlossen und es werden mögliche Fehler ausgegeben.

Hinweis Der XML-Parser ignoriert nicht darstellbare Zeichen nur während des Validierens. Ansonsten werden nicht darstellbare Zeichen als Unterobjektknoten einbezogen.

Validieren von XML-Dokumenten

Sie können einen XML-Parser konfigurieren, um die Gültigkeit eines bestimmten XML-Dokuments zu ermitteln. Ein Dokument ist gültig, wenn es einem externen Vokabular entspricht. Im LabVIEW-Parser kann dieses externe Vokabular eine Dokumenttypdefinition (DTD) oder ein Schema sein.

Einige Parser analysieren das XML-Dokument nur, ohne es vor dem Laden der Datei zu validieren. Der Parser in LabVIEW ist ein validierender Parser. Ein validierender Parser prüft ein XML-Dokument anhand einer DTD oder eines Schemas und meldet ungültige Objekte. Stellen Sie sicher, dass ein bestimmtes Dokument den Erwartungen bezüglich Form und Typ entspricht. Wenn ein validierender Parser verwendet wird, ist es nicht nötig, für jeden Dokumenttyp einen benutzerdefinierten Validierungscode zu erstellen.

Validierungsfehler werden am Ausgang Parsing-Fehler der Methode "Datei laden" ausgegeben.

Hinweis Der XML-Parser validiert das Dokument oder den XML-String beim Laden des entsprechenden Dokuments oder Strings. Wenn Sie an einem Dokument oder String Änderungen vorgenommen haben und diese Änderungen validiert werden sollen, laden Sie das Dokument oder den String mit Hilfe der Methoden "Datei laden" oder String laden erneut. Der Inhalt wird dann noch einmal analysiert.

Ein Anwendungsbeispiel für die Methode "Datei laden" ist das VI "Load XML with Parser API.vi" im Verzeichnis labview\examples\File IO\XML\Parse XML.

Konfigurieren des XML-Parsers

Wenn alle möglichen Funktionen aktiviert werden sollen, müssen alle Instanzen des XML-Parsers konfiguriert werden. Sie können den Parser konfigurieren, indem Sie Eigenschaften in der Klasse Dokument festlegen.

Fügen Sie einen Eigenschaftsknoten (XML) in das Blockdiagramm ein und sehen Sie sich die möglichen Eigenschaften an. Der Eigenschaftsknoten (XML) enthält folgende Eigenschaften und Methoden:

  • Namensräume verarbeiten—Aktiviert oder deaktiviert die Verarbeitung von Namensräumen durch den Parser. Die Standardeinstellung lautet TRUE, d. h. der Parser berücksichtigt die Regeln und Einschränkungen der Namensraumspezifikationen.
  • Schema verarbeiten—Aktiviert oder deaktiviert die Verarbeitung von Schemata durch den Parser. Die Standardeinstellung lautet FALSE, d. h. der Parser verarbeitet keine Schemata. Wenn die Eigenschaft auf TRUE eingestellt ist, muss die Namensraumverarbeitung aktiviert sein.
  • Externe DTD laden—Aktiviert oder deaktiviert das Laden von externen DTDs. Die Standardeinstellung lautet TRUE, d. h. es können externe DTDs geladen werden. Wenn Sie die Eigenschaft "Beim Laden validieren" auf "Immer" oder "Auto" setzen, ignoriert der Parser diesen Eingang und lädt immer die DTD.
  • Nicht darstellbare Zeichen beibehalten—Gibt an, ob ein validierender Parser zu vernachlässigende nicht darstellbare Zeichen als Textknoten beibehalten soll. Die Standardeinstellung lautet TRUE, d. h. zu vernachlässigende nicht darstellbare Zeichen werden der DOM-Baumstruktur als Textknoten hinzugefügt. Bei FALSE verwirft der XML-Parser alle ignorierbaren nicht darstellbaren Zeichen und fügt der DOM-Baumstruktur keine Textknoten hinzu.
    Hinweis Der XML-Parser ignoriert nicht darstellbare Zeichen nur während des Validierens. Ansonsten werden nicht darstellbare Zeichen als Unterobjektknoten einbezogen. So ist z. B. das erste Unterobjekt eines Tags ein nicht darstellbares Zeichen und nicht das nächste Element.
  • Vollständige Schemaprüfung—Ermöglicht die vollständige Prüfung gegen die Schemabedingungen. Die Eigenschaft ist nur dann wirksam, wenn die Eigenschaft "Beim Laden validieren" auf "Immer" oder "Auto" gesetzt wird. Die Standardeinstellung lautet FALSE, d. h. es wird eine teilweise Prüfung durchgeführt. Eine vollständige Schemaprüfung kann zeit- und speicherintensiv sein.
  • Beim Laden validieren—Gibt das Validierungsschema des XML-Parsers an. Sie können einen der folgenden Werte wählen:
    • Auto—(Standardeinstellung) Aktiviert die Validierung, wenn der Parser interne oder externe DTDs erkennt.
    • Nie—Deaktiviert die Validierung.
      Hinweis Wenn Sie diese Eigenschaft auf "Nie" und die Eigenschaft "Externe DTD laden" auf TRUE setzen, wird das Dokument zwar analysiert, es werden aber keine Validierungsfehler ausgegeben.
    • Immer—Aktiviert die Validierung.

Beispiele zur Arbeit mit den XML-Parser-VIs finden Sie im Verzeichnis labview\examples\File IO\XML\Parse XML.

Nach ähnlichen Beispielen suchen

Abfragen von XML-Dokumenten

XPath ist eine Abfragesprache für XML-Knoten wie beispielsweise Elemente, Attribute oder Text. Mithilfe des VIs Ersten übereinstimmenden Knoten ermitteln können Sie nach dem ersten Knoten suchen, der dem angegebenen XPath-Ausdruck entspricht. Mit dem VI Alle übereinstimmenden Knoten ermitteln können Sie nach allen Knoten suchen, die dem angegebenen XPath-Ausdruck entsprechen. Diese VIs verwenden den von Ihnen festgelegten Kontextknoten für die Suche nach Knoten. Der Kontextknoten beschreibt die Position in einem XML-Dokument, von der aus LabVIEW eine XPath-Abfrage durchführt. Sie können für die Abfrage von XML-Dokumenten einen relativen oder absoluten XPath-Ausdruck festlegen.

LabVIEW unterstützt die vom W3-Konsortium definierte Version XPath 1.0.

Das VI "Parse XML String for Multiple Nodes" im Verzeichnis labview\examples\File IO\XML\Parse XML ist ein Anwendungsbeispiel für das VI "Alle übereinstimmenden Knoten ermitteln".