Ändern von XML-root-element-Namen
Habe ich gespeicherte XML in string-variable:
<ItemMasterList><ItemMaster><fpartno>xxx</fpartno><frev>000</frev><fac>Default</fac></ItemMaster></ItemMasterList>
Hier möchte ich ändern XML-tag <ItemMasterList>
zu <Masterlist>
. Wie kann ich dies tun?
- Sollten Sie post ein bisschen von dem code, den Sie verwenden, da gibt es mehr als einen Weg, dies zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
System.Xml.XmlDocument und die zugeordneten Klassen im selben Namensraum wird als wertvoll erweisen, um Sie hier.
foreach (XmlAttribute attNode in doc.DocumentElement.Attributes) { newRoot.Attributes.Append((XmlAttribute)docNew.ImportNode(attNode, true)); }
Ich weiß, ich bin ein bisschen spät, aber gerade hinzufügen müssen, um diese Antwort als niemand scheint zu wissen, über diese.
Gibt die folgenden:
Können Sie LINQ to XML zum Parsen der XML-string, erstellen Sie eine neue Wurzel und fügen Sie den untergeordneten Elementen und Attributen des ursprünglichen Wurzel die neue Wurzel:
Mithilfe der
XmlDocument
Weg, Sie können dies tun, wie folgt (und den Baum zu halten intakt):Wenn Sie jetzt verwenden
ele.OuterXml
ist zurück: (Sie brauchen Sie nur den string zu verwenden, ansonstenXmlDocument.AppendChild(ele)
und Sie werden in der Lage sein zu verwenden, dieXmlDocument
Objekt einige mehr)Als wies Wird, wir können es tun, aber für den Fall, wo InnerXml gleich die OuterXml-die folgende Lösung erarbeiten: