SelectSingleNode syntaxe

Résolu
cs_CharlEm Messages postés 39 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 28 janvier 2009 - 10 juil. 2008 à 14:14
cs_CharlEm Messages postés 39 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 28 janvier 2009 - 11 juil. 2008 à 11:16
Bonjour,

Je débute avec l'XML en VB6 donc ma question va surement vous sembler bien simple ... à moi non

Récupérer une collection c'est ok mais récupéré juste un seul noeud je fais comment ?
Ce qui m'intéresse c'est de récupérer le libellé de la rule S1001 (cf fichier xml ci dessous).

Merci d'avance pour vos lumières

Pour le moment j'ai fais ceci :

    Open App.Path & "\Controle.xml" For Input As #1
    fichierxml = input(LOF(1), 1)
    xmlconfig.loadXML (fichierxml)    Set xmlnode xmlconfig.selectSingleNode("//rules[nom 'S1001']/libelle") ==> ça marche pas
    MsgBox xmlnode.Text

J'ai un fichier XML qui ressemble à ceci :

<?xml version="1.0" encoding="ISO-8859-1"?>
<rules>
 <rule id="S1000">
  <nom>S1000</nom>
  <module>HOSPITAL</module>
  <libelle>Le fichier HOSPITAL est introuvable</libelle>
 </rule>
 <rule id="S1001">
  <nom>S1001</nom>
  <module>HOSPITAL</module>
  <libelle>Le numéro d'agrément est vide</libelle>
 </rule>
</rules>

2 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
11 juil. 2008 à 07:09
normal, pas de noeud nommé rules, qui ne possède un seul attribut nom

de tête, ce serait plutot du genre :

//rules/rule[@id='S1001']/libelle

descendre l'arborescence, quoi...
mais a tester et corriger, j'ai pas forcement la syntaxe exacte en tête
Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
cs_CharlEm Messages postés 39 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 28 janvier 2009
11 juil. 2008 à 11:16
C'est exactement ça merci beaucoup.

J'ai juste du changer dans mon fichier XML les "..." par des '...' au niveau de <rule id='S1000'>
0
Rejoignez-nous