我有一个xml文件,它有一个非常大的文本节点(> 10 MB)。读取文件时,是否可以跳过(忽略)该节点?Ruby LibXML跳过大节点
我试过如下:
reader = XML::Reader.io(path)
while reader.read do
next if reader.name.eql?('huge-node')
end
但是,这仍然导致错误parser error : xmlSAX2Characters: huge text node
唯一的其他解决方案,我能想到的是先读取该文件作为一个字符串,删除巨大节点通过gsub,然后解析文件。但是,这种方法似乎效率很低。
你绝对需要使用SAX解析器吗? – 2014-12-11 01:59:02
在这种情况下,是的。 – diasks2 2014-12-11 02:05:14
啊,好的。这当然会使问题更具挑战性。感谢您的澄清。 – 2014-12-11 02:06:14