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 : un probleme avec RemoveChild [ Base de données / XML ] (ryoussef19)

mardi 7 août 2007 à 10:21:14 | un probleme avec RemoveChild

ryoussef19

Bonjour,

je travaille sous visual c++ (.net)

je veux faire une petite fonction qui me parcours le fichier xml et supprime un child donné

le probleme c'est que il me dit qu'il le trouve pas le child ou child inexistent, alors que je suis sur qu'il la , et pour etre completement sur je l ajoute avec appendchild et juste apres j utilise removechild il me dit inexistent

voici mon code : (je crois que le probleme viens de la creation de elem21)

XmlDocument^doc1 = gcnew XmlDocument();
doc1->Load("c:\\test30.xml");
XmlNode^ elem21 = doc1->CreateNode(XmlNodeType::Element, "file", nullptr);
elem21->InnerText = "file111";
for each (XmlNode^xn in doc1->ChildNodes[0]->ChildNodes)
{
     if((xn->Attributes["id"]->Value->ToString()=="1"))
     {
          for each (XmlNode ^xcn in xn->ChildNodes)
          {
                if(xcn->Name->ToString()=="roles")
                {
                       for each (XmlNode ^xcn2 in xcn->ChildNodes)
                       {
                          if((xcn2->Attributes["id"]->Value->ToString()=="1"))
                          {
                                 for each (XmlNode ^xxx in xcn2->ChildNodes)
                                 {
                                     if((xxx->Name->ToString()=="users"))
                                     {
                                          System::Windows::Forms::MessageBox::Show(xxx->Name->ToString());
                                           for each (XmlNode ^xxxm in xxx->ChildNodes)
                                            {
                                                 if((xxxm->Name->ToString()=="user"))
                                                 {
                                                     if(xxxm->Attributes["login"]->Value->ToString()=="login11")
                                                     {
                                                          for each (XmlNode ^xxxmm in xxxm->ChildNodes){
                                          System::Windows::Forms::MessageBox::Show("xxxmm\n"+xxxmm->Name->ToString()+"\n");
                                            xxxmm->RemoveChild(elem21);
                                             }
                                       }

                              }
                      }

                  }
            }
         }
      }
    }
  }
}
}
System::Windows::Forms::MessageBox::Show("ca marche avant save");
doc1->Save("c:\\test30.xml");
System::Windows::Forms::MessageBox::Show("ca marche");
 

est ce que quelqu'un peut m aider
merci
juste une remarque : quand je fais  apend puis remove  dans la meme methode  ca marche ?!

xxxmm->ApendChild(elem21);
xxxmm->RemoveChild(elem21);




Cette discussion est classé dans : for, childnodes, tostring, xmlnode, elem21


Répondre à ce message

Sujets en rapport avec ce message

La boucle FOR [ par C++ ] Ou est l erreur svp :for (int i=0;i MessageBox (i); Lire toutes les chaines d'un fichier [ par JMGR ] Salut,J'ai fait un programme qui charge toutes les chaines séparées par des espaces, et la boucle for ne se termine jamais, car la dèrnière chaine se Code QBasic à convertir Cpp [ par SneakGuy ] Salut, j'ai besoin d'aide pour convertir ce code QBasic en Cpp...*Désoler, tous les signes"plus" sont remplacés par la lettre p. Merci.CLSFOR x = 1 Probleme rand() et for [ par vanpet ] je suis nouveau en C++ (je migre de VB6) et il y a quelques petites choses que l'aide de Microsoft ne parvient pas a me faire comprendre... (pourquoi Tableau [ par druggedsephiroth ] Je comprends vraiment pas, j'ai un tableau:#define taille 8int cache[taille][taille];ensuite au début du soft, dans la procédure main je mets ca: for Besoin d'aide en C - Fonction [ par bugs2600 ] Voici mon programme quelqu'un pourrait-il m'aider je dois faire une fonction et je ne vois pas comment la faire le non de ma fonction doit etre PRODMA La différence entre for et while ? [ par Krox68 ] J'aimerais savoir la différence entre les boucles for et while,leurs avantages, leurs inconvénients...MerciKrox68 c++ algo [ par altay ] L'analyste programmeur a 3 dimensionest ce que quelqu'un pourrait me faire l'algo de ce code merci d'avance :#pragma hdrstop#include #include algo C++ [ par altay ] L'analyste programmeur a 3 dimensionest ce que quelqu'un pourrait me faire l'algo de ce code merci d'avance :#pragma hdrstop#include #include


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,156 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.