2

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 タグがたくさんあること<entry></entry>です。

4

5 に答える 5

7

通常、この場合はXPathを使用する方が簡単なので、コードは次のようになります。

XmlNodeList titles = xmlDoc.SelectNodes("//entry/title");
foreach (XmlNode title in titles)
{
rowNews = new ListViewItem();
rowNews.Text = (title.ChildNodes[0].Value);
listView1.Items.Add(rowNews);
}
于 2010-10-12T16:21:36.417 に答える
1

名前空間で使用XDocumentすることをお勧めします。System.Xml.Linq

次に、単に書くことができますdocument.Elements("entry").Elements("title")

于 2010-10-12T16:24:32.803 に答える
0

ここにヒントがあります。最初の「タイトル」ノードを反復する方法を見てください。

于 2010-10-12T16:13:59.130 に答える
0

xpath として entry/title のようなものを試しましたか?

于 2010-10-12T16:17:42.560 に答える
0

ParentNodeおよびLocalNameプロパティを参照してください。

if (title.ParentNode.LocalName == "entry") { ... }
于 2010-10-12T16:19:14.830 に答える