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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 157493
Url: https://administrator.de/forum/vb-net-xml-datei-einlesen-bestimmten-inhalt-suchen-und-inhalt-hinzufuegen-157493.html
Ausgedruckt am: 01.06.2025 um 09:06 Uhr
3 Kommentare
Neuester Kommentar
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