2010-11-30 5 views
1

Je peux le faire dans Xpath, mais malheureusement, pour ce projet particulier, je ne peux pas utiliser xpath.Lecture de l'attribut xml ref dans .NET

J'ai le noeud suivant sélectionné:

<client href="http://somewebsitehere.com" rel="needthisdata"></client> 


clientnode.Attributes["href"].Value 

retourne correctement "http://somewebsitehere.com", mais

clientnode.Attributes["rel"].Value 

ne fonctionne pas?

Qu'est-ce que je fais mal ici?

Utilisation complète:

foreach (XmlNode clientnode in clientnodelist) 
{ 
    MessageBox.Show(clientnode.Attributes["rel"].Value); 
} 

qui précède donne un NullReferenceException, alors remplaçant "rel" avec "href" fonctionne très bien.

Je suis sûr que je l'ai choisi le noeud correct ainsi que InnerText matches, ainsi que attribute.count retour 2.

+4

Comment cela ne fonctionne-t-il pas exactement? Vous recevez une exception ou une valeur incorrecte? –

+0

La ligne '' est-elle correcte? – BeemerGuy

+0

Mise à jour de l'article original pour plus de précisions –

Répondre

2

Lire votre code. Vous utilisez clientnode comme variable de boucle, mais vous référencez .


Que faire si un nœud particulier n'a pas d'attribut "rel"? NullReferenceException.

+0

désolé, c'était un mauvais travail de copier/coller! fixé! –

+0

ah! Doh! Merci beaucoup! Je me sens comme un tard maintenant! –

0

Je voudrais ajouter une pause à la boucle et jeter un oeil à ce qui est dans ma collection d'attributs. Aussi, pour les coups de pied, essayez de changer "rel" à quelque chose d'autre pour voir si cela résout le problème.