Forums GeekZone: [C#] XmlDocument.SelectNodes(), namespace & Xpath - Forums GeekZone

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

[C#] XmlDocument.SelectNodes(), namespace & Xpath Noter : -----

Posté 27 octobre 2009 - 19:39 (#1) L'utilisateur est hors-ligne   PERECil 

  • Veni, Vini, Whiny
  • PipPipPipPipPipPipPip
  • Groupe : Membre
  • Messages : 4030
  • Inscrit(e) : 02-avril 03
  • Lieu:Strasbourg, France

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... :D

Posté 27 octobre 2009 - 20:18 (#2) L'utilisateur est hors-ligne   AnA-l 

  • Tullius Detritus
  • PipPipPipPipPipPipPip
  • Voir la galerie
  • Groupe : Membre
  • Messages : 5494
  • Inscrit(e) : 02-mars 06
  • Lieu:Rbx

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.

Posté 28 octobre 2009 - 13:55 (#3) L'utilisateur est hors-ligne   PERECil 

  • Veni, Vini, Whiny
  • PipPipPipPipPipPipPip
  • Groupe : Membre
  • Messages : 4030
  • Inscrit(e) : 02-avril 03
  • Lieu:Strasbourg, France

Ayé, j'ai trouvé!

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 ) )
{ ... }


Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)


IPB Skins by Skinbox

Enter your sign in name and password


Sign in options
Log in with Facebook Log in with Twitter   Or sign in with these services