XML Datei bearbeiten

DerFahnder

Grünschnabel
Hallo,

ich habe ein Problem.
Ich muss eine XML Datei bearbeiten, die folgendermassen aussieht:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<transaction>
<name>XML.bdf</name>
<property>
<name>JOBNAME</name>
<value>SI_JOB</value>
</property>
<document>
<image>
<name>$Path\C2790014\04_1031025_C2790014_00000006.tif</name>
<property>
<name>FW_BATCHINDEX</name>
<value>SIT_DOKUMENTE;07.10.2004;C2790014;POSTDIREKT</value>
</property>
<property>
<name>FW_DOC</name>
<value>VORGANG_START</value>
</property>
<form>
<name>SI_FORDERUNG</name>
<field>
<name>SI_DOKTYP_KZ</name>
<value>01</value>
</field>
<field>
<name>SI_FORMID_TX</name>
<value>F001</value>
</field>
<field>
<name>SI_GLBNR_TX</name>
<value></value>
</field>
<field>
<name>SI_FORDNR_TX</name>
<value>1031025</value>
</field>
<field>
<name>SI_FORDERGNR_TX</name>
<value></value>
</field>
<field>
<name>SI_QUELLE_TX</name>
<value>SCAN</value>
</field>
<field>
<name>SI_NAME_VORNAME_TX</name>
<value></value>
</field>
<field>
<name>SI_DOKART_KZ</name>
<value></value>
</field>
<field>
<name>SI_VART_KZ</name>
<value>04</value>
</field>
<field>
<name>SI_ART_TX</name>
<value>01</value>
</field>
</form>
</image>
</document>
</transaction>


Nun soll der Value bei SI_ART_TX von 01 auf 03 geändert werden.
Das Ganze versuche ich in .NET zu realisieren.
Meine bisherige Methode sieht so aus:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load( filename );
xmlDoc.DocumentElement.SelectSingleNode( "document/image/SI_ART_TX/attriute::value" ).Value = 3.ToString();
XmlTextWriter writer = new XmlTextWriter( "c:\test.xml" , Encoding.UTF8 );
xmlDoc.WriteTo( writer );
writer.Close();




Funktioniert nicht, leider.
Habe bisher mit XML noch nie gearbeitet und die Zeit ist sehr knapp.
Wäre sehr nett, wenn mir einer n Tipp geben könnte.

Danke und Gruss

Benjamin


Edit:

Shit, die ganze Formatierung des XML-File geht ja flöten 8[
 
Wenn ich dich richtig verstanden habe, dann sollte das folgende Tutorial die Lösung zu deinem Problem beschreiben, wenn du den Befehl currNode.InsertAfter... durch currNode.ReplaceChild ersetzt.
 
Hi!

Hab das Problem jetzt per einfacher String Replace Methode gelöst.
Muss mich mal mit XML beschäftigen, werd ich wohl häufiger brauchen demnächst.
 

Neue Beiträge

Zurück