c# - XPath 和属性

标签 c# .net xml xpath

我正在尝试遍历 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/

相关文章:

c# - EF 4.1 代码首先初始化我的数据库

c# - 使用 MySqlDataReader 计算特定记录数

php - 如何使用 PHP 解析 XML?

c# - ProgressBar 在阻塞的 UI 线程中更新

c# - 有界紧凑框架多行文本字段未正确显示换行符

c# - 使用映射库将嵌套对象映射到 C# 中的自定义对象

.net - 如何确定用户是否可以以管理员身份运行?

c# - 配置 IIS 7.0 元数据库问题

xml - 什么是多语言文档?

c# - 序列化时忽略 XML 属性