![]() |
xmlNode-Value manipulieren (xmlNode.xml)
Hi,
ich arbeite mit XMLDoc, xmldom und MSXML2_TLB. Ein XmlNode hat einen Wert z.B. <telefon>123456789</telefon>, dieser soll geändert werden und zwar so, dass der xmlknoten Unterknoten enthält also z.B. <telefon><telefon1>123456</telefon1><telefon2>234567</telefon2></telefon> Das was nun also als Value in den Xml-Knoten geschrieben werden soll habe ich in einem String vorliegen und kann natürlich beliebig gross sein. mit xmlNode.text := strValue und xmlNode.nodeValue := strValue gehts nicht. xmlNode.xml ist ja nur "Read only" In C# kann man einfach xmlNode.xml = strValue angeben und fertig. Wenn ich mit xmlNode.text den Wert zuweise steht in xmlNode.Text <telefon><telefon1>123456</telefon1><telefon2>234567</telefon2></telefon> das drin, in xmlNode.xml aber <telefon><telefon1>123456</telefon1><telefon2>234567</telefon2></telefon> Hat jemand ne Idee wodran das liegen kann oder wie ich trotz dieses Problems ordentlich mit dem XML umgehen kann? Danke Gruß s-w |
Re: xmlNode-Value manipulieren (xmlNode.xml)
Also das es mit .text nicht geht liegt einfach daran, dass der Inhalt dann auch als Text interpretiert wird und daher die Sonderzeichen maskiert werden um die Struktur nicht zu verändern (it's not a bug it's a feature...).
Spontan würde mir nur einfallen, das ganze mittels loadXML in ein zweites Document zu laden und zu kopieren... ist aber nicht sehr elegant. Was spricht denn dagegen die Child-Nodes mittel createNode und appendChild einzufügen? |
Re: xmlNode-Value manipulieren (xmlNode.xml)
Hi,
erstmal danke für deine Antwort. Dagegen spricht, da mir z.B. zwei Knoten mit mehreren Attributen in einem String vorliegen, was bedeutet das ich den String ja iwie trennen muss und das ist ja auch nicht wirklich eine elegante Lösung .... So wie ich das momentan sehe bleibt mir als einziges das xmlDocument in einen String zu konvertieren, das was hinzugefügt werden soll in den Sting an die richtige Stelle packen und dann das ganze in ein neues Xml-Doc zu laden. Aber da muss es doch eine bessere Lösung geben ... Oder ist es eine Möglichkeit die ".xml" eigenschaft von MSXML von readonly auf read/write umzustellen/umzuschreiben? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz