Problème d'écriture dans un fichier xml
Bonjour,
Je me débat depuis qq jours sur un problème avec un fichier xml mais là j'ai besoin d'aide !
En fait, j'ai besoin d'ajouter un sous noeud dans un fichier xml qui se présente de la forme suivante :
Code:
1 2 3 4
| <?xml version="1.0" encoding="iso-8859-1" ?>
<test nom="Essai">
<login>a</login> .......
</test> |
Moi je souhaiterai ajouter un sous noeud du même genre que login.
Pour cela je lis et je copie mon fichier ds un autre doc que je nomme temp.xml et là je souhaiterai ajouter mon sous noeud.
Mais je n'y arrive pas du tout et je ne sais plus quoi essayer.
Code:
1 2 3 4 5 6 7
| TXMLDocument *xml=new TXMLDocument("");
xml->LoadFromFile(open->Files->Strings[i]);
xml->Active=true;
xml->SaveToFile(ExtractFilePath(Application->ExeName)+"Tests\\temp.xml"); // jusque là ça fonctionne
Noeud=xml->DocumentElement->AttributeNodes->FindNode("test") ; //ça ne marche pas
SousNoeud = Noeud->AddChild("utilisateur") ; // ça devrait marcher si j'arrive à récuperer le nom du noeud principal |
Si qq'un peux m'aiguiller, me donner des pistes ou des endroits où chercher, je suis preneuse car je n'ai vraiment rien trouvé.
Mercisss d'avance.
TXMLDocument => voila le prb...
Bonjour,
Premier indice que je peux fournir :
La sauvegarde du fichier XML doit etre faite aprés le traitement si le but est de conserver le noeud supplementaire sous forme de fichier.
Deuxieme indice :
J'ai tenter d'utiliser TXMLDocument de la meme maniere pour un projet, et il s'est avéré que le composant TXMLDocument se comporte différement (pour ne pas dire étrangement) lors qu'il est créer en code plutot qu'en conception graphique.
Voila le genre de code qui a résolu tous mes soucis avec TXMLDocument :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
try
{
AnsiString XMLFileName = ExtractFilePath(Application->ExeName)+"XML";
AnsiString event_time = Now().FormatString("yyyy-mm-dd hh:nn:ss");
_di_IXMLDocument myXML;
myXML=LoadXMLDocument(XMLFileName);
myXML->Active = true;
IXMLNode* myEV = myXML->DocumentElement->AddChild("event");
myEV->AddChild("date")->SetText(event_time);
myEV->AddChild("action")->SetText("I");
myXML->SaveToFile(XMLFileName);
myXML->Active = false;
delete(myXML);
}
catch(Exception &E)
{
Err = "Err XML."
} |