XML的子元素上的次要xmlns
本文关键字:xmlns 元素 XML | 更新日期: 2023-09-27 18:01:24
我正在创建一个xml文件,并试图将命名空间附加到根节点。
doc = new XDocument(new XElement(XName.Get("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9"),
但是,当我这样做时,它会在下一个节点(XDocument的子节点)上追加一个空名称空间。
进一步的XElements
将有一个空的名称空间,因为您没有为它们指定任何名称空间。然后需要在子元素上指出这一点,因为它不同于父名称空间。不幸的是,如果你想"修复"这个问题,你需要为所有的子文档指定相同的命名空间。
幸运的是,有一个简短的代码可以做到这一点:
XNamespace ns = "http://www.sitemaps.org/schemas/sitemap/0.9";
然后像这样初始化所有元素:
new XElement(ns + ELEMENT_NAME, ...);
例如:
new XElement(ns + "urlset", ...);
代替XName.Get