質問

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>?

役に立ちましたか?

解決

見る ParentNodeLocalName プロパティ:

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

他のヒント

通常、使いやすいです 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);
}

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

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

XPathとしてエントリー/タイトルのようなものを試しましたか?

ヒントは次のとおりです。最初の「タイトル」ノードを反復する方法を見てください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top