libxml2无法从c ++中的xml字符串解析外部/内部实体?

时间:2014-07-30 13:29:18

标签: c++ xml xml-parsing libxml2

我正在使用libxml2 SAX API解析xml字符串。

以下是xml字符串包含外部实体:

string xmlString= "<?xml version="1.0" standalone="no" ?><!DOCTYPE copyright [ <!ELEMENT copyright (#PCDATA)> <!ENTITY c SYSTEM "http://www.xmlwriter.net/copyright.xml">]><copyright>&c;</copyright>"

还有包含内部实体的xml字符串:

string xmlString = "<?xml version="1.0" standalone="yes" ?><!DOCTYPE author [  <!ELEMENT author (#PCDATA)>  <!ENTITY js "Jo Smith">]><author>&js;</author>"

我正在使用libxml2 SAX API解析这些xml字符串,如下所示:

  xmlSAXUserParseMemory(&xmlSAXHandler, NULL, xmlString.c_str(), xmlString.length);

但解析外部/内部实体解析器时会发出以下错误:

Entity 'c' not defined

任何解决此问题的指针?这样我才能正确解析外部/内部实体的值?

0 个答案:

没有答案