Daten aus einer XML-Datei
-
Hallo,
ich bin gerade dabei ein Programm zu schreiben, welches mir aus einer XML-Datei Daten auslesen soll und diese dann weiterverarbeitet.
Die Datei hat folgendes aussehen (kleiner Bereich, da die gesamte Datei über 5 Seiten geht)<?xml version="1.0" encoding="WINDOWS-1252" standalone="yes"?> <TRTSpectrum> <RTHeader/> <ClassInstance Type="TRTSpectrum" Name="W_R_Fe_600s_39,6_KS_g.spx"> <TRTHeaderedClass> <TRTBase/> <ClassInstance Type="TRTSpectrumHardwareHeader"> <TRTKnownHeader> <TRTBase/> <Type>RTHardware</Type> <Size>137</Size> </TRTKnownHeader> <RealTime>556533</RealTime> <LifeTime>528680</LifeTime> <DeadTime>5</DeadTime>
Meine Frage ist nun, ob ich Daten, die ich aus der Datei lese immer vorher deklarieren muss, oder ob es eine Funktion gibt, die das während des einlesens tut.
Bsp, ich klicke später einen Button und dieser zeigt mir dann die Reallife an, ohne dass ich diese irgendwo deklariert habe.
Ich hoffe, ich habe mich klar genug ausgedrückt.
Vielen Dank im voraus.
-
Was genau meinst du mit deklarieren. Ich denke mal, du verwendest ein XMLDokument, oder? Darin ist jetzt erstmal alles vorhanden was in deinem XML File steht (als XMLNodes>. Wenn du jetzt den Wert einer XMLNode anzeigen willst, musst du nichts deklarieren oder erzeugen, die XMLNode gibt es schon. Allerdings musst du wissen wo du die XMLNode suchen musst (Pfad, Name usw...).
-
Dankeschön, habe es nun folgendermaßen gemacht:
XmlTextReader reader = new XmlTextReader("C:\\test.xml"); reader.ReadToFollowing("RealTime"); int RealTime = Convert.ToInt(reader.ReadString());
Damit kann ich alle Werte auslesen, die ich auch benötige und dann auch gleich weiterverwenden.
-
Nun habe ich aber eine weitere Frage.
Wie kann ich es machen, dass der gesammte Dateiinhalt im Programm enthalten bleibt um bei späterer Änderung einzelner Daten oder auch Erweiterung der Datei diese dann zu speichern?
-
Hat sich schon erledigt.
ich merke mir einfach nur den Dateinamen und den Pfad und lese bzw schreibe die fehlenden Daten einfach immer speziell mit eibnem extra Reader auf.
-
Also ich würde ein XMLDocument verwenden. Hat allerdings den Nachteil, dass das gesamte XML Dokument im Arbeitsspeicher liegt. Damit kannst du bequem durch deine Daten navigieren (Baumstruktur wie die Datei selbst) und Werte über die Value eigenschaft ändern.