我试图从创建的xml文件中的thumbnail_large元素中提取<thumbnail_large>http://b.vimeocdn.com/ts/235/662/23566238_640.jpg</thumbnail_large>
值。有没有办法在不循环who xml文件的情况下提取该值?谢谢你的帮助。
<videos>
<video>
<id>6271487</id>
<title>Spheres</title>
<description>text</description>
<url>http://vimeo.com/6271487</url>
<thumbnail_small>http://b.vimeocdn.com/ts/235/662/23566238_100.jpg</thumbnail_small>
<thumbnail_medium>http://b.vimeocdn.com/ts/235/662/23566238_200.jpg</thumbnail_medium>
<thumbnail_large>http://b.vimeocdn.com/ts/235/662/23566238_640.jpg</thumbnail_large>
<embed_privacy>anywhere</embed_privacy>
</video>
</videos>
答案 0 :(得分:10)
是的,有,它被称为XPath。试试这个:
XmlDocument doc = new XmlDocument();
doc.Load(@"/path/to/file");
XmlNode node = doc.SelectSingleNode("/videos/video/thumbnail_large");
string URI = node.InnerText;
至少这是我可以从这个格式不佳的文件中读取的内容。如果您使用两个不同的字母(视频详细信息和HTML标记),则应考虑使用名称空间。
答案 1 :(得分:4)
看看:
XDocument
XmlDocument
答案 2 :(得分:-3)
string s=File.ReadAllText("My.xml");
List<string> urllist= new List<string>();
string val="<thumbnail_large>";
int start= s.IndexOf(val);
while(start!=-1)
{
start = s.IndexOf(val,start+val.length);
int end = s.IndexOf("</thumbnail_large>",start);
urllist.add(s.Substring(start, end - start -1));
}