Hoi,
ich hab mal ne kurze Frage. Und zwar hab ich ein Programm, welches eine XML generiert. Dies funktioniert auch wunderbar, allerdings fügt das System automatisch jedem Node, welcher sich direkt unterhalb des Root-Nodes befindet ein xmlns="" als Attribut hinzu. Die Nodes, welche sich unterhalb der mit diesem Namespace gekennzeichneten Node befinden, bekommen ihn jedoch nicht.
Beispiel:
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| <?xml version="1.0" encoding="utf-8" standalone="yes"?> <RootNode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xxxxx"> <ChildNode1 xmlns=""> <SubChildNode> <Test>123abc</Test> </SubChildNode> </ChildNode1> <ChildNode2 GUID="c413657a-3f96-42fc-9491-a9bdb08dc890" xmlns="" /> <ChildNode3 xmlns=""> <SubChildNode2 XX="X" XXXX="XXX" /> </ChildNode3> </RootNode> |
Hat vielleicht jemand eine Ahnung woran das liegen kann? Hier der Code, mit welchem das Generiert wird:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| XDocument xml = new XDocument(); XNamespace ns = "http://xxx.xxxx.de"; xml.Declaration = new XDeclaration("1.0", "utf-8", "yes"); xml.Add(new XElement(ns + "RootNode", new XAttribute(XNamespace.Xmlns + "xsi", "http://www.w3.org/2001/XMLSchema-instance")));
XElement roots = xml.Root; root.Add( new XElement("ChildNode1", new XElement("SubChildNode", new XElement("Test", "123abc"))), new XElement("ChildNode2", new XAttribute("GUID", Guid.NewGuid()))); |
Danke schon mal im Vorraus.
Lg Maliko