10. februar 2005 - 13:04
Der er
8 kommentarer og 1 løsning
namespace og xmldocument
Hej Jeg vil gerne vide hvordan jeg klarer at få denne xml dannet udfra et xmldocument: <root xmlns:x="urn:1"> <x:item/> <x:item/> </x:root> Jeg har set jeg kan skrive sådan, hvis jeg benytter en xmltextwriter, men den passer ikke lige ind i mit program. XmlTextWriter w = new XmlTextWriter("c:\\test.xml", System.Text.Encoding.UTF8); w.Formatting = Formatting.Indented; w.WriteStartElement("root"); w.WriteAttributeString("xmlns", "x", null, "urn:1"); w.WriteStartElement("item","urn:1"); w.WriteEndElement(); w.WriteStartElement("item","urn:1"); w.WriteEndElement(); w.WriteEndElement(); Vil altså gerne kunne bygge videre på min : XmlDocument doc = new XmlDocument(); ved at skabe noder og elementer og så komme til ovenstående xml resultat.
Annonceindlæg fra Novataris
10. februar 2005 - 16:54
#1
Sker det ikke helt automatisk hvsi dit XmlDocument bruger det namespace ?
10. februar 2005 - 17:11
#2
det er muligt, men så mangler jeg at finde ud af hvordan jeg får sat namespacet korrekt.....
10. februar 2005 - 17:26
#3
Godt spørgsmål. XmlDocument doc = new XmlDocument(); XmlNode item1 = doc.CreateElement("item"); XmlNode item2 = doc.CreateElement("item"); XmlNode root = doc.CreateElement("x", "root", "urn:1"); root.AppendChild(item1); root.AppendChild(item2); doc.AppendChild(root); doc.Save(Console.Out); giver: <?xml version="1.0" encoding="IBM437"?> <x:root xmlns:x="urn:1"> <item /> <item /> </x:root> jeg kan ikke helt få den vendt rigtigt.
10. februar 2005 - 18:04
#4
XmlDocument doc = new XmlDocument(); XmlElement root = doc.CreateElement("x","root","urn:1"); XmlElement item1 = doc.CreateElement("x","item","urn:1"); XmlElement item2 = doc.CreateElement("x","item","urn:1"); root.AppendChild(item1); root.AppendChild(item2); doc.AppendChild(root); doc.Save(Console.Out); giver: <?xml version="1.0" encoding="ibm850"?> <x:root xmlns:x="urn:1"> <x:item /> <x:item /> </x:root>
10. februar 2005 - 18:20
#5
Jeg kunne altså også godt finde ud af at create item's ligesom root. Problemet er at det skal være <root ikke <x:root !!!!
10. februar 2005 - 20:17
#6
"flovt ansigt"!! Beklager meget, har lavet en lille taste fejl, min xml skal se sådan ud: <root xmlns:x="urn:1"> <x:item/> <x:item/> </root> altså uden x'et i slut taget
10. februar 2005 - 20:21
#7
Det havde jeg ignoreret. Det er kunsten at få x= i attributten uden x: foran i element som jeg ikke umidelbart kunne løse.
10. februar 2005 - 20:24
#8
okay, jeg håbede så også at der var en løsning som gjorde unødvendigt for mig at skrive sådan hver gang jeg skal lave et element: doc.CreateElement("x","item","urn:1"); Håbede det var muligt at angive et sted at alle elementer kunne prefix'es med en vilkårlig namespace....
14. februar 2005 - 20:31
#9
takker for indsatsen og lukker :-)
Kurser inden for grundlæggende programmering