给出如下的站点地图:
<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
<sitemapindex xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:mobile=\"http://www.google.com/schemas/sitemap-mobile/1.0\">
<sitemap><loc>http://www.whyisxdocumentsuchapain.com/sitemap.kill.xml</loc><lastmod>2013-12-10T18:34:09Z</lastmod></sitemap>
<sitemap><loc>http://www.whyisxdocumentsuchapain.com/sitemap.destroy.xml</loc><lastmod>2013-12-10T18:34:09Z</lastmod></sitemap>
<sitemap><loc>http://www.whyisxdocumentsuchapain.com/sitemap.pillage.xml</loc><lastmod>2013-12-10T18:34:09Z</lastmod></sitemap>
<sitemap><loc>http://www.whyisxdocumentsuchapain.com/sitemap.etc.xml</loc><lastmod>2013-12-10T18:34:09Z</lastmod></sitemap>
</sitemapindex>
如何使用XDocument linq查询获取loc
个节点内的四个URL?
这似乎完全打败了我。
答案 0 :(得分:5)
var ns = xdoc.Root.GetDefaultNamespace();
var urls = xdoc.Root.Elements().Elements(ns + "loc").Select(l => (string)l);
结果:
"http://www.whyisxdocumentsuchapain.com/sitemap.kill.xml",
"http://www.whyisxdocumentsuchapain.com/sitemap.destroy.xml"
"http://www.whyisxdocumentsuchapain.com/sitemap.pillage.xml"
"http://www.whyisxdocumentsuchapain.com/sitemap.etc.xml"