<item>
<title>Aerie Peak</title>
<link>http://www.wow-europe.com/realmstatus/index.html#Aerie Peak</link>
<description>Aerie Peak - Realm Down - Lang en - Type PvE</description>
<category domain="status">Realm Down</category>
<category domain="language">en</category>
<category domain="type">PvE</category>
<category domain="queue">false</category>
<guid isPermaLink='false'>EU5-REALM15</guid>
</item>
je dois sélectionner title
et status
. Voici ce que je suis venu avec:Sélection des noeuds XML avec le même nom, mais un texte différent intérieur d'attribut en C#
string uri = "http://www.wow-europe.com/realmstatus/index.xml";
XmlDocument doc = new XmlDocument();
doc.Load(uri);
XmlNodeList nodes = doc.SelectNodes("//item");
foreach (XmlNode node in nodes)
{
{
RealmList.Text += node["title"].InnerText + " - " +
node.SelectNodes("category[@domain='status']")[0].InnerText;
}
}
qui donne System.NullReferenceException: Object reference not set to an instance of an object.
à la ligne de sélection, cependant. Je ne sais pas comment je pourrais choisir le nœud.
Où l'erreur se produit-elle exactement? Fonctionne bien pour moi, quand je charge l'exemple XML à partir d'un fichier. Seul le 'node.SelectNodes (" .... "). InnerText' est difficile, car si ce noeud n'est pas présent? Tout d'abord, je ferais un 'node.SelectSingleNode()' et je stockerais cela dans une variable XmlNode et m'assurerais que la variable est '! = Null' avant d'accéder à la propriété' .InnerText' ..... –