用 C# 读取 XML
我正在使用 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);
}
问题是,我的文件中有许多名为 title 的 rss 标签,我只想读取 <条目>
?
I'm using System.Xml to read a xml file in C#.
First I open the file (locally)... and use foreach to get the values, like this:
XmlNodeList titles = xmlDoc.GetElementsByTagName("title");
foreach (XmlNode title in titles)
{
rowNews = new ListViewItem();
rowNews.Text = (title.ChildNodes[0].Value);
listView1.Items.Add(rowNews);
}
The problem is, I have many rss tags called title in my file, I'd like to read only those what are inside <entry></entry>
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
通常在这种情况下使用 XPaths 更容易,因此您的代码将如下所示:
Usually its easier to use XPaths in this case, so your code would look something like this:
我建议在
System.Xml.Linq
命名空间中使用XDocument
。然后你可以简单地编写
document.Elements("entry").Elements("title")
I suggest using
XDocument
in theSystem.Xml.Linq
namespace.Then you can simply write
document.Elements("entry").Elements("title")
请参阅 ParentNode 和 LocalName 属性:
See ParentNode and LocalName properties:
你有没有尝试过像entry/title这样的东西作为你的xpath?
Have you tried something like entry/title as your xpath?
这里有一个提示:看看如何迭代第一个“标题”节点。
Here's a hint: look at how you iterate through the first "title" node.