Hi there
I'm using VB 2008 and I'm trying to add a xmlns="mynamespace" attribute to an XDocument's root element.
The XML document is created by a 3rd party, and I have loaded it into a VB XDocument object. As it comes, it has no namespaces. I have been working on a local copy and I added in a namespace in a text editor, so that I can use the XMLToSchema in VB to enable intellisense etc, as per the instructions in the Beth Massi vids at MSDN. Now the rest of the code works I want to open the live documents again. Without the namespace, my XML literals don't resolve.
I've tried unsuccessfully to add in the XMLNS property to the root tag using a few methods, and the nearest I got was the following three code samples.
Dim myNS As XNamespace = "urn:nbf:namespacename"
myXML.Element("nameofrootelement").Add(myNS)
^^^^ The namespace was added as the value of the root element, not as an attribute.
XML.Root.Add(New XAttribute("xmlns", "name"))
^^^^ Generated the error: Run-time exception thrown : System.Xml.XmlException - The prefix '' cannot be redefined from '' to 'name' within the same start element tag.
but
XML.Root.Add(New XAttribute("test", "name"))
^^^^ works correctly. Presumably it doesn't like me manually trying to set a reserved attribute? This namespacing seems way too over complex from some of the Googling I've done.
How do I get around this problem? :D
Thanks!