设置程序以使用LIBXML_PARSEHUGE

时间:2015-08-19 11:23:40

标签: libxml2 xmlsec

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

LIBXML_PARSEHUGE

解析大于10 MB的节点

有谁知道如何启用此功能? 我在Parser init中搜索了xmlsec的源代码,但是找不到集成选项的方法 我是否必须在源代码中设置它并重新编译它?这样,我是否必须重新编译libxml或xmlsec?

2 个答案:

答案 0 :(得分:0)

好的,所以我找到了解决方案,并将其发布在这里以防万一有人需要这个时间 在

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

包含此

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

或者,第二行被注释掉了。您必须取消注释并重新编译该工具

答案 1 :(得分:0)

您还可以通过simplexml_load_string函数本身来激活参数:

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