我已經嘗試將默認名稱空間添加到根,儘管它也將名稱空間添加到它的子節點。我想將名稱空間添加到現有的XDocument。不需要的名稱空間屬性添加到根子元素
我的代碼嘗試;
// add default namespace - attempt 1
XNamespace xmlns = "http://www.myschema/schema.xsd";
xDocument.Root.Name = xmlns + xDocument.Root.Name.LocalName;
// add default namespace - attempt 2
XNamespace MyNS = "http://www.myschema/schema.xsd";
xDocument.Element("testFile").Name = MyNS.GetName("testFile");
XML;
<testFile version="1" xmlns="http://www.myschema/schema.xsd">
<testResults xmlns=""> <!-- *** Unwanted Attribute *** -->
<result resultID="abcdefgh" comment="blah blah blah blah">
</testResults>
</testFile>
我想知道爲什麼testResults有一個xmlns命名空間屬性連接到它?
這裏是一些測試C#代碼來測試;
XDocument xDocument = new XDocument(
new XElement("testFile",
new XAttribute("version", "1"),
new XElement("testResults",
new XElement("result",
new XAttribute("resultID", "abcdefgh"),
new XAttribute("comment", "blah blah blah blah")
))));
顯示創建其他元素的代碼。答案應該是顯而易見的。 –
增加了一些測試代碼,我可以重現這一點。 – wonea
[無法在運行時將名稱空間添加到XML](http://stackoverflow.com/questions/1607815/cant-add-namespace-to-xml-at-runtime) – andlrc