xmlParseMemory的libxml2 XML_PARSE_HUGE选项

时间:2014-07-02 12:54:43

标签: libxml2

Centos 6.4上的C ++,libxml2.x86_64 2.7.6-12.el6_4.1:

我正在尝试修复一个旧的C ++程序,偶尔会在大型xml文件上获取XML解析器错误,似乎需要设置XML_PARSE_HUGE选项。但我看不到任何地方设置它!失败的代码是使用xmlParseMemory函数,该函数只有2个参数 - 要解析的char数组及其大小。

有没有办法全局设置XML_PARSE_HUGE选项?

1 个答案:

答案 0 :(得分:1)

您必须切换到xmlReadMemory参数options。只需转换

等电话
xmlParseMemory(buffer, size);

xmlReadMemory(buffer, size, NULL, NULL, XML_PARSE_HUGE);

(我认为xmlParseMemory早于解析器选项,仅为了向后兼容而保留。另请参阅this question。)