我正在使用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
任何解决此问题的指针?这样我才能正确解析外部/内部实体的值?