XML Element in anderes XML kopieren
In4matiker
- xml
Moin
bin auf der Suche nach einer Möglichkeit einen bestimmten Teil in einem XML (XML1) in ein anderes XML (XML2) zu kopieren.
Das XML1 sieht so aus:
<PERSONEN>
<MITARBEITER>
<NAME>Hugo</NAME>
<ALTER>27</ALTER>
<ORT>Berlin</ORT>
</MITARBEITER>
<MITARBEITER>
<NAME>Jan</NAME>
<ALTER>25</ALTER>
<ORT>Koeln</ORT>
</MITARBEITER>
<MITARBEITER>
<NAME>Simone</NAME>
<ALTER>27</ALTER>
<ORT>Hamburg</ORT>
</MITARBEITER>
</PERSONEN>
Das XML2 sieht so aus
<PERSONEN>
<MITARBEITER>
<NAME>Heiner</NAME>
<ALTER>39</ALTER>
<ORT>Muenchen</ORT>
</MITARBEITER>
<MITARBEITER>
<NAME>Walter</NAME>
<ALTER>38</ALTER>
<ORT>Stuttgart</ORT>
</MITARBEITER>
</PERSONEN>
Das Ziel ist es jetzt den Eintrag / Element mit all seinen Unterelementen von XML1
<MITARBEITER>
<NAME>Jan</NAME>
<ALTER>25</ALTER>
<ORT>Koeln</ORT>
</MITARBEITER>
in das XML2 zu bringen und innerhalb des <PERSONEN></PERSONEN> abzuspeichern (unterhalb der bestehenden Einträge).
Ich entwickle mit ASP (VBScript) und/oder ASP.NET . Gibt es da Möglichkeit mein Problem serverseitig zu lösen oder ist die Idee nicht umsetzbar? Hat jemand für mich ein Codebeispiel - ich bin mit dem Thema XML noch nicht so vertraut.
Für eure Mithilfe und Bemühungen danke ich!
In4matiker
Hi,
.Net bietet dir im Namespace System.Xml den XmlTextReader
(nur-vorwärts-lesend) und den XmlTextWriter (nur-vorwärts-schreibend)
an. Du könntest damit zuerst alle Inhalte der einen Datei in eine
Zieldatei schreiben und dann die Inhalte der zweiten Datei nachfolgend
(-> Schleife?) in die Zieldatei schreiben.
Ein anderer Ansatz ist, du packst beide XML Strukturen jeweils in
einen eigenen String und hängst beide aneinander:
_XmlString1 += _XmlString2;
und entfernst dann das Konstrukt "</PERSONEN><PERSONEN>" aus dessen
_Mitte_:
_XmlFinal = _XmlString1.Replace(@"</PERSONEN><PERSONEN>","");
Ciao, HTH, Frank
Hallo,
bin auf der Suche nach einer Möglichkeit einen bestimmten Teil in einem XML (XML1) in ein anderes XML (XML2) zu kopieren.
in das XML2 zu bringen und innerhalb des <PERSONEN></PERSONEN> abzuspeichern (unterhalb der bestehenden Einträge).
Ich entwickle mit ASP (VBScript) und/oder ASP.NET . Gibt es da Möglichkeit mein Problem serverseitig zu lösen oder ist die Idee nicht umsetzbar? Hat jemand für mich ein Codebeispiel - ich bin mit dem Thema XML noch nicht so vertraut.
Falls du nicht mit DOM etc. arbeiten willst, (http://msdn.microsoft.com/library/en-us/dnanchor/html/netdevanchor.asp) kannst du das auch mit XSL lösen, allerdings brauchst du dann die Technologie dazu am Server.
Unter http://msdn.microsoft.com/library/en-us/dnanchor/html/anch_xmlprod.asp findest du viele Beispiele (auch VBSript)
Grüße
Thomas