我有一个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 :(得分:0)
Linq to XML(http://msdn.microsoft.com/en-us/library/bb387098.aspx)是一个良好的开端。
以及其他一些例子:
答案 1 :(得分:0)
您似乎尝试解析RSS源。您可以使用SyndicationFeed进行此操作。
但无论如何,它是一个简单的xml,你可以使用Linq To 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命名空间的问题。
答案 2 :(得分:0)
要反序列化xml,请尝试以下方法:http://undefinedvalue.com/2011/11/22/deserializing-objects-xml-c