XML Datei parsen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: XML Datei parsen (/Thread-XML-Datei-parsen) |
XML Datei parsen - Lucki - 04.06.2015 13:31 Mein Problem ist folgendes: Gegeben ist einen XML-Datei, mit der wichtige Einstellungen eines VI gespeichert und wieder gelesen werden können. Dazu habe ich ein SubVI gemacht, das funktioniert wunderbar. Die XML-Datei ist ja eine Textdatei. Es ist auch ohne Kenntnis der XML-Sprache nicht schwer, die gespeicherten Einstellungen nachzuschauen. Entweder mit einem normalen Texteditor, oder, besser noch, mit einem XML-Viewer. Hier mal ein Bild, wie schön der XML-Viewer das darstellt (Links der XML-Text, rechts was der Viewer daraus macht): [attachment=53286] Die Einstellungen sollen aber noch in eine einfache Textdatei konvertiert werden (Diese dient als Dokumentationsanhang zu gespeicherten TDMS-Daten). Die soll einfach so aussehen: Code: Breathing Hat das jemand von Euch vielleicht schon mal so ähnlich gemacht und kann mir etwas auf die Sprünge helfen? Oder einen Hinweis auf ähnliche Code - Beispiele geben? Gruß Ludwig RE: XML Datei parsen - jg - 04.06.2015 15:11 Diese XML-Datei wurde ganz offenbar mit der LabVIEW-Funktion "Flatten to XML" erzeugt. Du hast also die entsprechenden Cluster schon vorliegen, warum erzeugst du nicht daraus die gewünschte Datei? Ansonsten könntest du dich mit "XPath" beschäftigen, einer "Suchsprache" für XML-Parser. Gruß, Jens P.S.: Ein wenig schöner wird die XML-Datei mit GXML, die eingebaute LabVIEW-Funktion erzeugt IMHO einen fürchterlichen XML-Code. RE: XML Datei parsen - Lucki - 05.06.2015 07:46 Danke für die Antwort. Mit einem vergleichsweise winzig kleinen SubVI speichere und lade ich die Werte von ausgewählten Controls in einer XML-Datei. (Serialisierung und Speichern in einer xxx.ini war, was mich betrifft, früher.) Alles was ich machen muss, ist, einen Array der Referenzen dieser Elemente an das SubVI zu übergeben. Dabei spielt es keine Rolle, ob das ein einfaches Element ist, z. B. ein numerisches, oder ein Array, oder ein Cluster mit beliebig komplexer Struktur. Das hört sich an wie im Märchen, aber es funktioniert immer. Kanst es ja gern mal probieren - Kritik wäre willkommen. Hier ist es: [attachment=53294] Was Du vorschlägst ist sicherlich machbar. Ich gehe aber immer noch davon davon aus, dass das Herausziehen aller Beschriftungen und Werte aus der XML-Datei mittels Parsing eine recht einfache Sache ist - wenn man weiß wie's geht. Ich werde mal NI kontaktieren, wozu hat man den Servicevertrag. Gruß Ludwig RE: XML Datei parsen - jg - 06.06.2015 10:26 Ich habe als Anregung ein wenig mit XPath herumgespielt. Hier die Labels und Werte aller Elemente aller Cluster aus deinem XML-File: [attachment=53307] Das ist jetzt natürlich keine allgemein gültige Lösung, der Cluster könnte ja wieder einen Cluster oder ein Array enthalten. Gruß, Jens RE: XML Datei parsen - Lucki - 06.06.2015 11:12 Schon mal vorab meinen heißesten Dank, Jens! Habe jetzt keine Zeit, das ausführlich zu untersuchen. Das Verrückte ist aber schon mal, dass Du zum Parsen keine anderen Funktionen verwendest, als ich sie auch versucht habe. Aber bei Dir funktionierts! Melde mich später noch mal. Gruß Ludwig |