INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

XML Datei parsen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

04.06.2015, 13:31 (Dieser Beitrag wurde zuletzt bearbeitet: 04.06.2015 13:38 von Lucki.)
Beitrag #1

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
XML Datei parsen
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):
   
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
    tau_e = 60
    tau_i = 60
    Tins = 0.4
    Prm = 10
    Prm-Shape = 4
Apnoe
    Tda2b/s = 3
    Tbreath/s = 10
....
....
Was da zu tun ist, ist klar: Mittels Parsing die Informationen aus der XML-Datei herausziehen. Zum XML-Parsing gibt es in LV Funktionen und einige Beispiele. Die Beispiele treffen nur leider nicht das, was ich machen will, und mit den Funktionen komme ich auch nicht richtig klar. Ich stehe als auf dem Schlauch.
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


Angehängte Datei(en)
0.0 .txt  LM_Settings.xml.txt (Größe: 2,98 KB / Downloads: 172)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.06.2015, 15:11
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: XML Datei parsen
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.

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.06.2015, 07:46
Beitrag #3

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: XML Datei parsen
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:

14.0 .vi  ReadSaveXML.vi (Größe: 28,64 KB / Downloads: 213)

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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.06.2015, 10:26 (Dieser Beitrag wurde zuletzt bearbeitet: 06.06.2015 10:27 von jg.)
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: XML Datei parsen

Akzeptierte Lösung

Ich habe als Anregung ein wenig mit XPath herumgespielt.
Hier die Labels und Werte aller Elemente aller Cluster aus deinem XML-File:

14.0 .vi  Bsp XML Parsing.vi (Größe: 19,55 KB / Downloads: 211)

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

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.06.2015, 11:12
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: XML Datei parsen
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
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  XML dynamisch parsen? C.Maier 3 4.215 11.10.2016 10:30
Letzter Beitrag: C.Maier
  String parsen homerjay88xx 9 6.976 16.07.2016 19:11
Letzter Beitrag: ITScotty
  VI Strings exportieren und enstandene Datei parsen? Neuling 4 5.312 09.03.2011 10:04
Letzter Beitrag: NWOmason
  Seriellen Datenstrom in hierachischen Cluster parsen tanka 16 10.408 11.08.2010 15:09
Letzter Beitrag: Lucki

Gehe zu: