[C++ builder 6]Problème de lecture de fichier XML
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.
Code:
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());
} |
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);
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.