[c#/xml] Trouver un noeud avec un attribut particulier : Est-ce possible avec Se [Résolu]

Messages postés
9
Date d'inscription
jeudi 2 décembre 2004
Dernière intervention
24 avril 2006
- - Dernière réponse : cs_Likilik
Messages postés
9
Date d'inscription
jeudi 2 décembre 2004
Dernière intervention
24 avril 2006
- 20 mars 2006 à 22:55
Bonjour,



J'ai un fichier xml dont voici un extrait :



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

<root>

<mp3 id="1" name="toto.mp3">

<taille>xxxx</taille>

<debut>0</debut>

<fin>yyyy</fin>

</mp3>

<mp3 id="2" name="titi.mp3">


<taille>zzzz</taille>


<debut>yyyy</debut>


<fin>vvvv</fin>


</mp3>

.....

.....

</root>


J'utilise SelectSingleNode pour trouver un noeud.

Comment utiliser par exemple pour récupérer directement avec un ou plusieurs attributs ?

Par exemple si je veux trouver le noeud pour lequel name="titi.mp3" je
fais comment ? puis-je utiliser une variable à la place de titi.mp3
dans ma requete ?



Je suis "nouveau" en c# et xml et je lis pas mal de vos réponses. Si
j'ai raté ce sujet et qu'il a déja été traité, prière de m'excuser.



Merci.




-.- DotMatrix -.- Likilik -.-
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
3
Merci
Salut,

Oui, avec une requête XPath de ce genre :
"//mp3[@name='titi.mp3']"

/*
coq
MVP Visual C#
*/

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_coq
Messages postés
9
Date d'inscription
jeudi 2 décembre 2004
Dernière intervention
24 avril 2006
3
Merci
Merci.

Ca me permet d'avancer....
Pour la variable j'ai aussi trouvé ma ligne est (si ca interesse) :


XmlNode mp3 = xmlDoc.SelectSingleNode("//mp3[@name='" + file + "']"); // file est le nom de la variable qui contient le fichier recherche

Encore merci !

-.- DotMatrix -.- Likilik -.-

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Likilik
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
3
Merci
La concaténation c'est moche ;-)

string xpath = string.Format("//mp3[@name='{0}']", file);
XmlNode mp3 = xmlDoc.SelectSingleNode(xpath);

ou direct

XmlNode mp3 = xmlDoc.SelectSingleNode(string.Format("//mp3[@name='{0}']", file));

/*
coq
MVP Visual C#
*/

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_coq
Messages postés
6366
Date d'inscription
samedi 1 juin 2002
Dernière intervention
2 août 2014
3
Merci
string xpath = string.Format("//mp3[@name= " {0}"]", file);
XmlNode mp3 = xmlDoc.SelectSingleNode(xpath);

:-)

/*
coq
MVP Visual C#
*/

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 95 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_coq
Messages postés
9
Date d'inscription
jeudi 2 décembre 2004
Dernière intervention
24 avril 2006
0
Merci
En effet merci bien...

au fait je rencontre un petit souci c'est que mes fichier mp3 ont des fois des noms contenant des quotes...
Une idée ?

Merci
;-)

-.- DotMatrix -.- Likilik -.-
Commenter la réponse de cs_Likilik
Messages postés
9
Date d'inscription
jeudi 2 décembre 2004
Dernière intervention
24 avril 2006
0
Merci
C'est génial !
Merci de ton aide

-.- DotMatrix -.- Likilik -.-
Commenter la réponse de cs_Likilik
Messages postés
9
Date d'inscription
jeudi 2 décembre 2004
Dernière intervention
24 avril 2006
0
Merci
C'est génial !
Merci de ton aide

Bravo a csharp et a ce moyen d'entraide !!!

A bientot !

-.- DotMatrix -.- Likilik -.-
Commenter la réponse de cs_Likilik

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.