VB.Net - XML Datei einlesen, bestimmten Inhalt suchen und Inhalt hinzufügen
Hallo Leute!
Ich möchte gerne etwas in VB (ich benutze momentan 2008 Express) realisieren:
Ich möchte eine vorhandene XML-Datei einlesen, in dieser einen bestimmten (sich wiederholenden) Knoten und dessen Inhalt suchen. Wenn dieser Inhalt mein gesuchter Inhalt ist, dann soll ein Knoten hinzugefügt und die Datei wieder abgespeichert werden.
Habe schon einige Lösungsansätze gefunden, kriegs aber dennoch nicht richtig hin. Weiß auch nicht was besser ist: per Linq, XMLDocument oder was auch immer.
Die vorhandene XMLDatei hat in etwa folgenden Aufbau:
<?xml version="1.0"?>
<Typ="Typ1">
<Knoten>
blablabla
</Knoten>
....
<Positionen>
<Position>123456</Position>
<Position>654321</Position>
...
</Positionen>
</Typ>
Ich will jetzt z.B. wissen ob in dieser Datei ein Positions-Knoten mit dem Inhalt "123456" drin ist. Wenn ja, dann soll ein weiterer Positions-Knoten mit dem Inhalt "irgendwas" hinzugefügt werden.
Bitte um Lösungsansätze.
Danke im Voraus.
Ich möchte gerne etwas in VB (ich benutze momentan 2008 Express) realisieren:
Ich möchte eine vorhandene XML-Datei einlesen, in dieser einen bestimmten (sich wiederholenden) Knoten und dessen Inhalt suchen. Wenn dieser Inhalt mein gesuchter Inhalt ist, dann soll ein Knoten hinzugefügt und die Datei wieder abgespeichert werden.
Habe schon einige Lösungsansätze gefunden, kriegs aber dennoch nicht richtig hin. Weiß auch nicht was besser ist: per Linq, XMLDocument oder was auch immer.
Die vorhandene XMLDatei hat in etwa folgenden Aufbau:
<?xml version="1.0"?>
<Typ="Typ1">
<Knoten>
blablabla
</Knoten>
....
<Positionen>
<Position>123456</Position>
<Position>654321</Position>
...
</Positionen>
</Typ>
Ich will jetzt z.B. wissen ob in dieser Datei ein Positions-Knoten mit dem Inhalt "123456" drin ist. Wenn ja, dann soll ein weiterer Positions-Knoten mit dem Inhalt "irgendwas" hinzugefügt werden.
Bitte um Lösungsansätze.
Danke im Voraus.
Please also mark the comments that contributed to the solution of the article
Content-Key: 157493
Url: https://administrator.de/contentid/157493
Printed on: April 23, 2024 at 12:04 o'clock
3 Comments
Latest comment
Hallo HrwSiggi!
Als VBScripter würde ich einfach den Dateiinhalt am Stück einlesen ("
mit einem "
... ausformuliert also etwa:
Grüße
bastla
Als VBScripter würde ich einfach den Dateiinhalt am Stück einlesen ("
ReadAll
") und nach einemReplace(Dateiinhalt, "<Position>123456</Position>", "<Position>123456</Position>" & vbCrLf & "<Position>irgendwas</Position>")
Write
" wieder in die Datei schreiben ...... ausformuliert also etwa:
Datei = "D:\Die.xml"
Set fso = CreateObject("Scripting.FileSystemObject")
T = fso.OpenTextFile(Datei).ReadAll
fso.CreateTextFile(Datei).Write Replace(T, "<Position>123456</Position>", "<Position>123456</Position>" & vbCrLf & "<Position>irgendwas</Position>")
bastla