C ++在CentOS 6.4,libxml2.x86_64 2.7.6-12.el6_4.1:
我试图修复一个旧的C ++程序,偶尔会得到大的XML文件的XML解析器的错误,似乎需要XML_PARSE_HUGE选项集。 但我看不到任何地方设置吧! 该真实使用xmlParseMemory函数只具有2个参数失败的代码 - 炭阵列来解析和其大小。
是否有某种方式向XML_PARSE_HUGE选项全局设置?
C ++在CentOS 6.4,libxml2.x86_64 2.7.6-12.el6_4.1:
我试图修复一个旧的C ++程序,偶尔会得到大的XML文件的XML解析器的错误,似乎需要XML_PARSE_HUGE选项集。 但我看不到任何地方设置吧! 该真实使用xmlParseMemory函数只具有2个参数失败的代码 - 炭阵列来解析和其大小。
是否有某种方式向XML_PARSE_HUGE选项全局设置?
你必须切换到xmlReadMemory
它有一个options
参数。 简单地转换样来电
xmlParseMemory(buffer, size);
至
xmlReadMemory(buffer, size, NULL, NULL, XML_PARSE_HUGE);
(我觉得xmlParseMemory
早解析器选项,并且只保留向后兼容。另见这个问题 。)