我正在尝试遍历 XML 文档并选择某些节点属性。 XML 是动态生成的。
<?xml version="1.0" encoding="ISO-8859-1"?>
<streams>
<stream>
<title>+23 (Panama)</title>
<info resolution="768x420" bitrate="1000kbps"/> ----- Need These
<swfUrl>http://www.freeetv.com/script/mediaplayer/player.swf</swfUrl>
<link>rtmp://200.75.216.156/live/</link>
<pageUrl>http://www.freeetv.com/</pageUrl>
<playpath>livestream</playpath>
<language>Music</language>
<advanced></advanced>
</stream>
</streams>
我尝试在零运气下使用的代码和 Visual Studio 说“不,你错了。再尝试 600 次”是
xDoc.Load("http://127.0.0.1/www/xml.php");
XmlNodeList nodes = xDoc.SelectNodes("/streams/stream");
foreach (XmlNode xn in nodes)
{
ListViewItem lvi = listView1.Items.Add(xn["title"].InnerText);
lvi.SubItems.Add(xn["swfUrl"].InnerText);
lvi.SubItems.Add(xn["link"].InnerText);
lvi.SubItems.Add(xn["pageUrl"].InnerText);
lvi.SubItems.Add(xn["playpath"].InnerText);
lvi.SubItems.Add(xn["language"].InnerText);
lvi.SubItems.Add(xn["advanced"].InnerText);
lvi.SubItems.Add(xn["//info/@resolution"].Value);
}
请告诉我聪明的人我做错了什么?
最佳答案
如果你想使用 XPath 选择节点的属性,你应该使用 SelectSingleNode
方法,例如:
xn.SelectSingleNode("info/@resolution").Value
关于c# - XPath 和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9347776/