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选项?
答案 0 :(得分:1)
您必须切换到xmlReadMemory
参数options
。只需转换
xmlParseMemory(buffer, size);
到
xmlReadMemory(buffer, size, NULL, NULL, XML_PARSE_HUGE);
(我认为xmlParseMemory
早于解析器选项,仅为了向后兼容而保留。另请参阅this question。)