Lire un fichier xml

Résolu
mictif Messages postés 105 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 14 février 2013 - 19 mars 2006 à 15:39
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 20 mars 2006 à 22:32
bonjour, j'aimerais lire mon fichier xml afin de donner le text à mes differents composants en fonction de la langue du client.



j'ai donc un fichier xml du style :

<?xml version="1.0" encoding="utf-8" ?>

<Lang>

<Fr>

<label1>Menu1fr</label1>

<label2>Menu2fr</label2>

<label3>Menu3fr</label3>

</Fr>

<En>


<label1>Menu1en</label1>


<label2>Menu2en</label2>


<label3>Menu3en</label3>

</En>

</Lang>



comment lire et recuperer ces valeurs ?

merci par avance!

4 réponses

cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
19 mars 2006 à 18:11
Salut,

Utilise la classe XmlDocument !
Voilà un exemple :

Dim doc As New XmlDocument()
doc.Load("c:\file.xml")

For Each node As XmlNode In doc.ChildNode("Lang").ChildNode("Fr").ChildNodes
Response.Write(node.Name & "=" node.InnerText & "
")
End For

Ce qui va te donner :
label1=Menu1fr
label2=Menu2fr
label3=Menu3fr
etc...

Tu peux aussi utiliser des requêtes XPath, mais là je suis pas un spécialiste

<hr size="2" width="100%">Nurgle (Antoine)
3
cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
19 mars 2006 à 18:13
mouarf, j'ai oublié un "s" à la fin de ChildNodes à deux endroits, mais je penses que tu as compris le principe...

<hr size="2" width="100%">Nurgle (Antoine)
0
mictif Messages postés 105 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 14 février 2013 2
19 mars 2006 à 18:57
merci beaucoup c'est parfait ;)







bon code ;)
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
20 mars 2006 à 22:32
Bonjour,

si tu recherches seulement une clé parmis plusieurs milliers d'enregistrement la solution risque d'etre trés longue, et il faudra mieux utiliser du xpath pour plus de performance, voici la requete qui ira bien pour toi :)

tonnode = tmpnode.SelectSingleNode(String.Format("./{0}/{1}", langue, key))

avec tmpnode le noeud contenant les <lang>, langue un string contenant la langue ("Fr" ou "En" dans ton cas) et key le nom de ton champ. tonnode correspondra alors au noeud de ta valeur :)


<HR>
Cyril - MVS - MCP ASP&
0