C# 使用Linq查询读取RSS提要节点

C# 使用Linq查询读取RSS提要节点,c#,xml,linq,rss,C#,Xml,Linq,Rss,在下面的示例中,您可以建议使用linq读取“ApplicationUrl”值的最佳方法 <?xml version="1.0" encoding="UTF-8"?> <rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0"> <channel> <title>TestTitle</title> <item> <a

在下面的示例中,您可以建议使用linq读取“ApplicationUrl”值的最佳方法

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
   <channel>
      <title>TestTitle</title>
      <item>
         <a10:content type="application/xml">
            <Vacancy xmlns="http://schemas.datacontract.org/2004/08/Har" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
               <AdvertText i:nil="true" />
               <ApplicationUrl>http://www.Test.co.uk/test/Sec/signin.aspx?vid=685</ApplicationUrl>
            </Vacancy>
         </a10:content>
      </item>
   </channel>
</rss>
您可以这样尝试:

XNamespace ns = "http://schemas.datacontract.org/2004/08/Har";
XNamespace a10 = "http://www.w3.org/2005/Atom";
......
......
(from node in doc.Elements("channel").Elements("item")
 select new
 {
     Link = "link: " + (string)node.Element("link"),
     Title = "Title: "+ (string)node.Element("title"),
     UpdatedOn ="Updated on : "+ (string)node.Element(atom + "updated"),
     Content = "Vacancy : " + (string)node.Element(a10+"content")
                                          .Element(ns+"Vacancy")
                                          .Element(ns+"ApplicationUrl")
 })
XNamespace ns = "http://schemas.datacontract.org/2004/08/Har";
XNamespace a10 = "http://www.w3.org/2005/Atom";
......
......
(from node in doc.Elements("channel").Elements("item")
 select new
 {
     Link = "link: " + (string)node.Element("link"),
     Title = "Title: "+ (string)node.Element("title"),
     UpdatedOn ="Updated on : "+ (string)node.Element(atom + "updated"),
     Content = "Vacancy : " + (string)node.Element(a10+"content")
                                          .Element(ns+"Vacancy")
                                          .Element(ns+"ApplicationUrl")
 })