我正在创建一个xml文件,并尝试将命名空间附加到根节点。
doc = new XDocument(new XElement(XName.Get("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9"),
但是,当我这样做时,它会在下一个节点(XDocument的子节点)附加一个空名称空间?
答案 0 :(得分:1)
进一步XElements
将具有空命名空间,因为您没有为它们指定任何命名空间。这需要在子元素上进行,因为它与父命名空间不同。不幸的是,如果你想“修复”这个,你需要为所有子文档指定相同的命名空间。
幸运的是,这是一个简写代码:
XNamespace ns = "http://www.sitemaps.org/schemas/sitemap/0.9";
然后像这样初始化所有元素:
new XElement(ns + ELEMENT_NAME, ...);
e.g:
new XElement(ns + "urlset", ...);
而不是XName.Get
。