XML-Element umbenennen

29/03/2008 - 22:49 von Stefan Theobald | Report spam
Hallo,

ich habe eine XML-Datei.
In dieser möchte ich an einer bestimmten Stelle (die Information-Eintràge
unterhalb von OrderContentInformation) in PosInformation umbenennen.

Wie mache ich das?

Ich finde kein "RENAME" - ich habe in der Hilfe was mit ReplaceChild
gefunden, aber das scheine ich nicht richtig anzuwenden.

Wer kann mir ragen, wie ich das richtig anwende bzw. machen muß?

PS: Der Code meckert schon, dass Name read only ist, wenn ich den neuen
Namen zuweisen will.



Gruß
Stefan


Dim XMLDokument As New XmlDocument()

Dim Hauptknoten As XmlNode

Dim Unterknoten As XmlNode

Dim Unterknoten_neu As XmlNode

XMLDokument.Load("C:\orders_out_test2.xml")

For Each Hauptknoten In XMLDokument

Hauptknoten = XMLDokument.DocumentElement

For Each Unterknoten In XMLDokument

Unterknoten =
Hauptknoten.SelectSingleNode("Order/OrderContent/Position/OrderContentInformation/Information")

MsgBox(Unterknoten.Name)

Unterknoten_neu.Name = "PosInformation"

Unterknoten.ReplaceChild(Unterknoten_neu, Unterknoten)

Next

Next

XMLDokument.Save("C:\orders_out_neu.xml")
 

Lesen sie die antworten

#1 Stefan Theobald
30/03/2008 - 01:44 | Warnen spam
Hallo nochmal,

ich habe den Code jetzt so gemacht - làuft auch ohne Fehlermeldung durch,
jedoch wird die Änderung nicht genommen.
Woran liegt das?

In der Schleife werden 38 Vorkommen gefunden, was auch korrekt ist - nur
nicht ersetzt bzw. die Änderung nicht in die Datei geschrieben.


Gruß
Stefan


Dim XMLDokument As New XmlDocument()

Dim Hauptknoten As XmlNode

'Dim Unterknoten As XmlNode

Dim Unterknotenliste As XmlNodeList = Nothing

Dim Zaehler As Integer = 0

Dim Zaehler2 As Integer = 0

XMLDokument.Load("C:\orders_out_test2.xml")

Hauptknoten = XMLDokument.DocumentElement

Unterknotenliste =
Hauptknoten.SelectNodes("Order/OrderContent/Position/OrderContentInformation/Information")

For Each Eintrag In Unterknotenliste

Zaehler2 = Zaehler2 + 1

MsgBox("Eintrag (" & Zaehler2 & "): " & Eintrag.Name)

Eintrag.Name.Replace(Eintrag.Name, "PosInformation")

Next

XMLDokument.Save("C:\orders_out_neu.xml")


"Stefan Theobald" schrieb im Newsbeitrag
news:
Hallo,

ich habe eine XML-Datei.
In dieser möchte ich an einer bestimmten Stelle (die Information-Eintràge
unterhalb von OrderContentInformation) in PosInformation umbenennen.

Wie mache ich das?

Ich finde kein "RENAME" - ich habe in der Hilfe was mit ReplaceChild
gefunden, aber das scheine ich nicht richtig anzuwenden.

Wer kann mir ragen, wie ich das richtig anwende bzw. machen muß?

PS: Der Code meckert schon, dass Name read only ist, wenn ich den neuen
Namen zuweisen will.



Gruß
Stefan


Dim XMLDokument As New XmlDocument()

Dim Hauptknoten As XmlNode

Dim Unterknoten As XmlNode

Dim Unterknoten_neu As XmlNode

XMLDokument.Load("C:\orders_out_test2.xml")

For Each Hauptknoten In XMLDokument

Hauptknoten = XMLDokument.DocumentElement

For Each Unterknoten In XMLDokument

Unterknoten =
Hauptknoten.SelectSingleNode("Order/OrderContent/Position/OrderContentInformation/Information")

MsgBox(Unterknoten.Name)

Unterknoten_neu.Name = "PosInformation"

Unterknoten.ReplaceChild(Unterknoten_neu, Unterknoten)

Next

Next

XMLDokument.Save("C:\orders_out_neu.xml")



Ähnliche fragen