2010-12-06 5 views
0

Je suis en train d'analyser le fichier XML en utilisant libxml2.0, le code est ci-dessous.n'a pas pu charger le fichier xml de l'entité externe

Je reçois l'erreur comme Échec du chargement de l'entité externe.

xmlDocPtr xmlDocumentPtr = xmlParseFile(inXMLFilePath.c_str()); 

Je reçois null pour le pointeur xmlDocPtr xmlDocumentPtr;

Quelle pourrait en être la raison?

Répondre

0

Le code XML a-t-il une DTD? La DTD pourrait être intégrée ou incluse en référence à une URI. L'erreur implique que la DTD a une entité externe et que libxml2 n'a pas pu trouver la définition correspondante. Vérifiez la DTD pour <!ENTITY entity_name ...>. La déclaration d'entité peut faire référence à un URI qui n'a pas pu être trouvé.

Une autre possiblité est que le XML référence une entité sans déclaration dans aucune DTD, par ex. &entity_name; apparaît dans le fichier XML, mais il n'y a pas de déclaration correspondante <!ENTITY entity_name ...>.

Le message d'erreur doit également avoir le nom de l'entité ou l'URI de la DTD après lui. L'a fait?

+0

Maintenant, c'est corrigé. juste le chemin du fichier manqué. – boom

Questions connexes