Reply to this topicStart new topic
> [C#] XmlDocument.SelectNodes(), namespace & Xpath
PERECil
posté 27/10/2009, 19:39
Message #1


Veni, Vini, Whiny
******

Groupe : Membre
Messages : 3 858
Inscrit : 2/4/03
Lieu : Strasbourg, France
Membre no 3 388
Steam : PERECil
Wii : 1383-7748-9073-7366



Bonsoir à tous.

Je cherche comment utiliser la méthode SelectNodes() de XmlDocument pour récupérer des nœuds contenant un attribut (ou les attributs directement) dont le nom est xlink:href, afin de convertir les chemins d'Url de relatif en absolu. Je suis une turbo quiche en ce qui concerne le Xpath / XML, mais j'ai cru comprendre que xlink était un namespace, mais aussi que SelectNodes accepte en second paramètre un namespace. Mais voilà je bloque à cet endroit, je ne sais absolument pas comment faire ce genre de chose, et google n'était clairement pas mon ami sur ce coup là.

Si vous aviez la technique... sweatingbullets.gif


--------------------
Go to the top of the page
 
+Quote Post
AnA-l
posté 27/10/2009, 20:18
Message #2


Tullius Detritus
*******

Groupe : Membre
Messages : 4 919
Inscrit : 2/3/06
Lieu : Rbx
Membre no 13 395
Steam : AnA-l
Xbox Live : jbriguet



A priori, dixit la msdn, faut que tu mettes le path complet de ce que tu veux selectionner (le chemin du node donc). Pas d'apreciation sur l'attribut, ou sur le reste. En gros, tu selectionnes tout tes nodes, tu cherches poour chacun si ya l'attribut, et tu avises.


--------------------

Go to the top of the page
 
+Quote Post
PERECil
posté 28/10/2009, 13:55
Message #3


Veni, Vini, Whiny
******

Groupe : Membre
Messages : 3 858
Inscrit : 2/4/03
Lieu : Strasbourg, France
Membre no 3 388
Steam : PERECil
Wii : 1383-7748-9073-7366



Ayé, j'ai trouvé!

Code
XmlDocument output = new XmlDocument();
output.LoadXml(File.ReadAllText(input));
XmlNamespaceManager nsmgr = new XmlNamespaceManager(output.NameTable);
nsmgr.AddNamespace("xlink", "http://www.w3.org/1999/xlink");
foreach (XmlNode node in output.SelectNodes( "//@xlink:href", nsmgr ) )
{ ... }


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 

  RSS Version bas débit Nous sommes le : 9/2/10 - 12:17