begin process at 2008 07 20 03:33:17
1 213 119 membres
42 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : XML effacer un noeud grace a la valeur de son attribut [ Archives / Base de données ] (agarcia_01)

XML effacer un noeud grace a la valeur de son attribut le 02/02/2006 16:19:26

agarcia_01
Bonjour,

j'ai un petit probleme de comprehension au niveau de la  supression d'un noeud XML .
J'enregistre des conversation dans un fichier XML et je souhaiterais pouvoir les effacer par date.

<root>
<Conversation date="03/01/2006 16:08:10">
  <Texte> blablalbaba </Texte>
</Conversation>
<Conversation date="03/01/2006 16:08:10">
  <Texte> blablalbaba</Texte>
</Conversation>
</root>


Voila le code que j'ai fait:

xmldoc.Load(file); // je load mon fichier XML
XmlNodeList nodeList = xmldoc.SelectNodes("//Conversation");
//je met dans une nodelist tout les noeud de ma conversation                  

//boucle pour lire chaque noeud
foreach(XmlNode nd in nodeList){
//Je veux effacer le node dont l'attribut date= "03/01/2006 16:08:10 "
if (nd.attribute.equal( date= "03/01/2006 16:08:10 ")  //bon ça existe pas :(
{
//nd.removeall()

}
}

      
donc le probleme c'est que j'arrive pas a trouver via le Xmlnode nd comment le          
supprimer le noeud grace a l'attribut

J'espere que vous m'avez compris merci de votre aide

AG

                





Re : XML effacer un noeud grace a la valeur de son attribut le 02/02/2006 16:35:09

coq
(Admin CS)
Salut,

Tu peux directement sélectionner les noeuds à supprimer dans ta requête XPath :
XmlNodeList nodeList = xmldoc.SelectNodes("//Conversation[date=='03/01/2006 16:08:10'");


/*
coq
MVP Visual C#
*/

Re : XML effacer un noeud grace a la valeur de son attribut le 02/02/2006 16:35:50

poppyto
Membre Club
(Admin CS)

J'ai pas testé mais je le vois bien comme ceci :

if (nd.attribute.equal( date= "03/01/2006 16:08:10 "))
{
nd.ParentNode.RemoveChild(nd);
}

Poppyto
http://www.poppyto.net
 LE site pour les bassistes
http://blogs.developpeur.org/Poppyto Mon Blog sur C#


Re : XML effacer un noeud grace a la valeur de son attribut le 02/02/2006 16:36:55

coq
(Admin CS)
Oups, un '=' en trop ^^
XmlNodeList nodeList = xmldoc.SelectNodes("//Conversation[date='03/01/2006 16:08:10'");



/*
coq
MVP Visual C#
*/

Re : XML effacer un noeud grace a la valeur de son attribut le 02/02/2006 16:58:02

coq
(Admin CS)
Réponse acceptée !

Décidément j'ai du mal avec ma requête aujourd'hui !!!
XmlNodeList nodeList = xmldoc.SelectNodes("//Conversation[@date='03/01/2006 16:08:10']");

Exemple de code : 
XmlNodeList nodeList = xmldoc.SelectNodes("//Conversation[@date='03/01/2006 16:08:10']");
foreach ( XmlNode node in nodeList )
{
   node.ParentNode.RemoveChild(node);
}



/*
coq
MVP Visual C#
*/


Re : XML effacer un noeud grace a la valeur de son attribut le 02/02/2006 17:08:50

poppyto
Membre Club
(Admin CS)
Ca a l'air bon cette fois . Soulignons à agarcia_01qu'on ne peut détruire un noeud qu'à partir de son noeud parent (ParentNode), autrement ça reviendrais à du suicide de noeud

Poppyto
http://www.poppyto.net
 LE site pour les bassistes
http://blogs.developpeur.org/Poppyto Mon Blog sur C#

Re : XML effacer un noeud grace a la valeur de son attribut le 02/02/2006 17:23:26

coq
(Admin CS)
node.DoSuicide();
ou
node.DoHarakiri();

ça le ferais :p



/*
coq
MVP Visual C#
*/

Re : XML effacer un noeud grace a la valeur de son attribut le 02/02/2006 17:34:03

agarcia_01
Merci ça marche parfaitement le coq  !!!!

Je peux continuer mon petit projet !!!

Re : XML effacer un noeud grace a la valeur de son attribut le 02/02/2006 17:36:49

agarcia_01
c clair c'est ce que je me suis dit apres avoir vu le code de coq.
Le fils  ne peux pas ce taper un suicide comme ça.Seul les parents le font !

Heureusement que dnas la realité aucun parent tue ses enfants  .... enfin a part quelques exeption pres ... :(

Encore merci

Re : XML effacer un noeud grace a la valeur de son attribut le 02/02/2006 17:37:17

poppyto
Membre Club
(Admin CS)
>coq

héhé node.TuSors(); c'est pas mal aussi

>agarcia_01

N'oublie pas d'accepter la bonne réponse pour ceux qui passeraient plus tard

Poppyto
http://www.poppyto.net
 LE site pour les bassistes
http://blogs.developpeur.org/Poppyto Mon Blog sur C#


Classé sous : effacer, xml, noeud, attribut, nd

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS