Bonjour,
je n'arrive pas à utiliser correctement TXMLDocument pour lire des données XML.
Le fichier XML m'est fourni par un webservcie.J'arrive bien à le récupérer, mais je n'arrive pas à accéder aux données.
J'ai ajouté le test if(!doc->IsEmptyDoc()) sinon j'obtiens une violation d'accès sur di_IXMLNode racine = doc->DocumentElement->ChildNodes->GetNode(0);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 TXMLDocument* doc = new TXMLDocument(""); doc->DOMVendor = DOMVendors->Vendors[1]; //je ne saisis pas trop quel index je dois donner ici... doc->XML->SetText(retour);//retour est correctement défini ailleurs doc->XML->SaveToFile("tmp.xml");//j'enregistre dans un fichier pour vérifier que le code XML est bon (il l'est) if(!doc->IsEmptyDoc()) { doc->Active = true; _di_IXMLNode racine = doc->DocumentElement->ChildNodes->GetNode(0); ShowMessage(racine->ChildNodes->Nodes[WideString("FIELD")]->Attributes[WideString("LOG")]); } else { ShowMessage(doc->XML->GetText()); }
Et donc le code passe par le ShowMessage(doc->XML->GetText()) qui m'affiche bien le contenu XML...Il est donc considéré comme vide...mais pourquoi?
Notez que je me suis inspiré du code donné par l'aide de C++ builder...
Merci d'avance.
Partager