-
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") { ... }
他のヒント
通常、使いやすいです 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としてエントリー/タイトルのようなものを試しましたか?
ヒントは次のとおりです。最初の「タイトル」ノードを反復する方法を見てください。
所属していません StackOverflow