用 C# 读取 XML

发布于 2024-09-27 07:15:58 字数 390 浏览 8 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

猫瑾少女 2024-10-04 07:15:58

通常在这种情况下使用 XPaths 更容易,因此您的代码将如下所示:

XmlNodeList titles = xmlDoc.SelectNodes("//entry/title");
foreach (XmlNode title in titles)
{
rowNews = new ListViewItem();
rowNews.Text = (title.ChildNodes[0].Value);
listView1.Items.Add(rowNews);
}

Usually its easier to use XPaths in this case, so your code would look something like this:

XmlNodeList titles = xmlDoc.SelectNodes("//entry/title");
foreach (XmlNode title in titles)
{
rowNews = new ListViewItem();
rowNews.Text = (title.ChildNodes[0].Value);
listView1.Items.Add(rowNews);
}
﹂绝世的画 2024-10-04 07:15:58

我建议在 System.Xml.Linq 命名空间中使用 XDocument

然后你可以简单地编写 document.Elements("entry").Elements("title")

I suggest using XDocument in the System.Xml.Linq namespace.

Then you can simply write document.Elements("entry").Elements("title")

要走就滚别墨迹 2024-10-04 07:15:58

请参阅 ParentNodeLocalName 属性:

if (title.ParentNode.LocalName == "entry") { ... }

See ParentNode and LocalName properties:

if (title.ParentNode.LocalName == "entry") { ... }
错爱 2024-10-04 07:15:58

你有没有尝试过像entry/title这样的东西作为你的xpath?

Have you tried something like entry/title as your xpath?

鸠书 2024-10-04 07:15:58

这里有一个提示:看看如何迭代第一个“标题”节点。

Here's a hint: look at how you iterate through the first "title" node.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文