-
29-09-2019 - |
题
我正在使用system.xml读取C#中的XML文件。首先,我打开文件(本地)...并使用foreach获取值,例如:
XmlNodeList titles = xmlDoc.GetElementsByTagName("title");
foreach (XmlNode title in titles)
{
rowNews = new ListViewItem();
rowNews.Text = (title.ChildNodes[0].Value);
listView1.Items.Add(rowNews);
}
问题是,我的文件中有许多称为标题的RSS标签,我只想阅读其中的内容 <entry></entry>
?
解决方案
看 parentnode 和 localname 特性:
if (title.ParentNode.LocalName == "entry") { ... }
其他提示
通常更容易使用 X Paths 在这种情况下,因此您的代码看起来像这样:
XmlNodeList titles = xmlDoc.SelectNodes("//entry/title");
foreach (XmlNode title in titles)
{
rowNews = new ListViewItem();
rowNews.Text = (title.ChildNodes[0].Value);
listView1.Items.Add(rowNews);
}
我建议使用 XDocument
在里面 System.Xml.Linq
名称空间。
那你可以简单地写 document.Elements("entry").Elements("title")
您是否尝试过诸如入口/标题作为XPATH之类的东西?
这是一个提示:查看您如何通过第一个“标题”节点迭代。
不隶属于 StackOverflow