【问题标题】:libxml2 XML_PARSE_HUGE option for xmlParseMemoryxmlParseMemory 的 libxml2 XML_PARSE_HUGE 选项
【发布时间】:2014-07-02 12:54:43
【问题描述】:

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

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

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

【问题讨论】:

    标签: libxml2


    【解决方案1】:

    您必须切换到具有options 参数的xmlReadMemory。只需转换调用,如

    xmlParseMemory(buffer, size);
    

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

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

    【讨论】:

    • 太好了,谢谢。如果 libxml2 维护人员正在观看,他们可能希望在他们的文档中建议 xmlParseMemory 已被弃用。
    猜你喜欢
    • 2017-02-02
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多