Question

J'utilise System.Xml pour lire un fichier xml en C #. Tout d'abord j'ouvre le fichier (localement) ... et l'utilisation foreach pour obtenir les valeurs, comme ceci:

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

Le problème est, j'ai beaucoup balises rss appelé le titre dans mon dossier, je voudrais lire que les ce qui sont à l'intérieur <entry></entry>?

Autres conseils

En général, il est plus facile à utiliser dans ce cas XPath , de sorte que votre code ressemblerait à quelque chose comme ceci:

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

Je suggère d'utiliser XDocument dans l'espace de noms System.Xml.Linq.

Ensuite, vous pouvez simplement écrire document.Elements("entry").Elements("title")

Avez-vous essayé quelque chose comme entrée / titre comme XPath?

Voici un indice: regardez comment vous itérer à travers le premier noeud « title »

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top