2013-04-27 41 views
1

我有一个XML文件,它看起来像这样:如何使用xml文件中的xml节点值填充变量?

  <item> 
        <title>Lore ipsum etc </title> 
        <description>lorem ipsum etc etc</description> 
        <link>http://url.com</link> 
        <guid isPermaLink="false">http://url.com</guid> 
        <pubDate>Sat, 27 Apr 2013 14:56:50 GMT</pubDate> 
        <media:thumbnail width="66" height="49" url="http://url.com/media/images/67275000/jpg/_67275945_017846423.jpg" /> 
      <media:thumbnail width="144" height="81" url="http://http://url.com/media/images/67276000/jpg/_67276200_017846423.jpg" /> 
      </item> 
     <item> 
       <title>Lore ipsum etc </title> 
       <description>lorem ipsum etc etc</description> 
       <link>http://url.com</link> 
       <guid isPermaLink="false">http://url.com</guid> 
       <pubDate>Sat, 28 Apr 2013 14:56:50 GMT</pubDate> 
<media:thumbnail width="66" height="49" url="http://url.com/media/images/67275000/jpg/_67275945_017846423.jpg" /> 
     <media:thumbnail width="144" height="81" url="http://http://url.com/media/images/67276000/jpg/_67276200_017846423.jpg" /> 
     </item> 

列表中有大约50个项目。

我该如何给我的变量<title><description><link><PubDate>以内的值。

到目前为止,我已经做到了这一点:

url = "http://url.com/file.xml"; 
XmlDocument doc = new XmlDocument(); 
doc.Load(url); 

任何形式的帮助表示赞赏

+0

我会去了解一下LINQ和XML – TGH 2013-04-27 21:24:31

回答

0

看来你尝试解析一个RSS feed。你可以使用SyndicationFeed

但无论如何,这是一个简单的XML,你可以使用LINQ到XML

var xdoc = XDocument.Load(url); 
var items = xdoc.Descendants("item") 
      .Select(item => new 
      { 
       Title = item.Element("title").Value, 
       description = item.Element("description").Value, 
       Link = item.Element("link").Value 
      }) 
      .ToList(); 

PS:您还没有公布完整的XML,(为前,没有根元素),你可能仍然有问题与Xml命名空间

+0

里面我有<媒体:缩略图宽度= “66” 高度= “49” URL =“HTTP:// URL .com/blaba.jpg“/>我怎样才能填充这个img网址呢? – Obsivus 2013-04-27 22:01:00

+0

@Obsivus正如我在答复中所说的,“你可能仍然遇到Xml命名空间的问题”。没有看到你的完整的XML,这是不可能的答案。 – I4V 2013-04-27 22:02:05

+0

我尝试了syndicationfeed它工作得很好没有问题,但没有图像的属性 – Obsivus 2013-04-27 22:02:57

相关问题