Nokogiri や REXML で "entity expansion has grown too large" エラーが出るときの対処方法

結論

  • XML がでかすぎるのが原因なので、上限を引き上げましょう
  • REXML::Document.entity_expansion_text_limit の値を増やします。単位はバイトで、デフォルト値は 10240 (10KB) です
  • REXML 配下なので require 'rexml/document' が必要になることがあります
require 'rexml/document'
REXML::Document.entity_expansion_text_limit=102400 # 100KB
Powered by はてなブログ