设置程序使用LIBXML_PARSEHUGE



我使用命令行应用程序xmlsec加密和解密文件。我得到一个节点大小为40 MB的XML文件。我已经发现我需要设置

LIBXML_PARSEHUGE

解析大于10m的节点

有人知道如何启用这个吗?我在xmlsec的源代码中搜索了Parser init,但没有找到集成该选项的方法我必须在源代码中设置这个并重新编译它吗?如果是这样,我必须重新编译libxml或xmlsec吗?

好的,所以我找到了解决方案,并把它贴在这里,以防有人需要这个时候在

src/Parser.c 
xmlDocPtr xmlSecParseFile(const char *filename){}

包含这个

/* enable parsing of XML documents with large text nodes */
xmlCtxtUseOptions (ctxt, XML_PARSE_HUGE);

最初,第二行被注释掉了。你必须取消注释并重新编译工具

您也可以通过simplexml_load_string函数本身激活该参数:

simplexml_load_string($xmlString,'SimpleXMLElement', LIBXML_PARSEHUGE);

相关内容

  • 没有找到相关文章

最新更新