空命名空间使用Linq Xml
发布时间:2020-12-16 08:08:33 所属栏目:百科 来源:网络整理
导读:我试图创建一个使用Linq到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 + "urls
我试图创建一个使用Linq到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 =“”。我可以剥掉它使用Replace在最后的xdoc.ToString(),但是有更正确的方法吗?
“更正确的方式”是:
XDocument xdoc = new XDocument(new XDeclaration("1.0",new XElement(ns + "url",new XElement(ns + "loc",new XElement(ns + "lastmod","2008-09-14")))); 与您的代码相同,但在需要位于sitemap命名空间中的每个元素名称前加上“ns”。它足够聪明,不会在生成的XML中放置任何不必要的命名空间声明,因此结果是: <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.example.com/page</loc> <lastmod>2008-09-14</lastmod> </url> </urlset> 这是,如果我没有错,你想要什么。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- ajax – Google使用#而不是搜索?在URL中为什么?
- c# – 如何在Visual Studio 2013中进行并行构建?
- Swift 4:NSFilenamesPboardType不可用.使用什么
- ios – 为代码签名身份选择哪些配置文件与签署分
- ajax – jQuery .append(html)命令附加不正确
- 让我为之兴奋的VB.NET体验之旅
- c# – 将控件视为ComboBox或TextBox
- ruby-on-rails – render_views在rspec中做什么?
- ruby-on-rails – 在Ruby on Rails中使用多态的替
- ruby-on-rails – Heroku上的Rails check_box表现
热点阅读