无法加载外部实体xml文件

时间:2010-12-06 10:22:30

标签: xml libxml2

我正在使用libxml2.0解析xml文件,代码如下所示。

我收到错误,因为无法加载外部实体。

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

我为指针xmlDocPtr xmlDocumentPtr

获取null

这可能是什么原因?

1 个答案:

答案 0 :(得分:0)

XML是否有DTD?可以通过引用URI来嵌入或包含DTD。该错误意味着DTD具有外部实体,并且libxml2无法找到它的定义。检查DTD <!ENTITY entity_name ...>。实体声明可能引用无法找到的URI。

另一种可能性是XML在任何DTD中引用没有声明的实体,例如&entity_name;出现在XML中,但没有相应的<!ENTITY entity_name ...>声明。

此外,错误消息应该具有实体的名称或DTD之后的URI。是吗?