我正在尝试使用 Linq to Xml 创建一个站点地图,但我得到了一个空的命名空间属性,我想摆脱它。例如
XNamespace ns = "http://www.sitemaps.org/schemas/sitemap/0.9";
XDocument xdoc = new XDocument(new XDeclaration("1.0", "utf-8", "true"),
new XElement(ns + "urlset",
new XElement("url",
new XElement("loc", "http://www.example.com/page"),
new XElement("lastmod", "2008-09-14"))));
结果是……
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url xmlns="">
<loc>http://www.example.com/page</loc>
<lastmod>2008-09-14</lastmod>
</url>
</urlset>
我宁愿在 url 元素上没有 xmlns="" 。我可以在最终的 xdoc.ToString() 上使用 Replace 将其删除,但有更正确的方法吗?