0

ファイルの暗号化と復号化にコマンドライン アプリ xmlsec を使用しています。サイズが 40 MB のノードを持つ XML ファイルを取得しました。私はすでに設定する必要があることを知りました

LIBXML_PARSEHUGE

10 MB を超えるノードを解析するには

これを有効にする方法を知っている人はいますか?Parser init の xmlsec のソース コードを検索しましたが、オプションを統合する方法が見つかりませんでした。これをソース内に設定して再コンパイルする必要がありますか? その場合、libxml または xmlsec を再コンパイルする必要がありますか?

4

2 に答える 2

0

わかりましたので、誰かがいつかこれを必要とする場合に備えて、解決策を見つけてここに投稿します

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

これを含む

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

元々、2行目はコメントアウトされています。コメントを外して、ツールを再コンパイルする必要があります

于 2015-08-20T10:05:59.650 に答える
0

simplexml_load_string関数自体を介してパラメーターを有効にすることもできます。

simplexml_load_string($xmlString,'SimpleXMLElement', LIBXML_PARSEHUGE);
于 2019-06-10T18:34:11.313 に答える