2016-03-22 4 views
-1

das Stammelement in XML in Java EntfernenEntfernen des Root-Elements in XML in Java

+0

Es hilft nicht, dass Sie eine Menge Code gegeben haben, der aussieht, als ob es in einer Methode sein sollte, aber uns nichts darüber sagte, wo es ist, oder es nannte. Bitte geben Sie eine [MCVE] an. –

+0

eigentlich möchte ich entfernen und möchte nur die Werte

Varie = 'var2' /> – newbie1

Antwort

1

Es klingt wie Sie wollen nur das Wurzelelement mit seinem einzigen Kind zu ersetzen, nicht wahr? So wollen Sie:

XDocument doc = XDocument.Load(@"C:\Users\ADMIN\Pictures\sample.xml"); 
doc.Root.ReplaceWith(doc.Root.Elements().Single()); 

Das ist alles, was Sie tun sollten. Dann wird das doc Wurzelelement <collection> sein. Ich habe es gerade versucht, und es war in Ordnung.

Wenn Sie wirklich haben das Dokument als ein laden XElement (warum?) Konnte man immer nur verwenden:

rootElement = rootElement.Elements().Single(); 

Sie brauchen nicht auf das Wurzelelement „entfernen“ - Ebene nur zu es.

+0

Ich benutze xelement anstelle von xdocument also finde ich nicht replacewith Funktion für das – newbie1

+0

@ newbie1: Nun, da Sie ein Dokument laden, empfehle ich Ihnen * Verwenden Sie * 'XDocument'. Wenn nicht, könnten Sie immer nur sagen: rootElement = rootElement.Elements(). Single() '. –

+0

oops Ich denke, ich muss eine neue Frage erstellen. Gedanke des Aktualisierens des alten Beitrags im unterschiedlichen Forum. aber es funktioniert nicht. Das tut mir leid. – newbie1