У меня есть xml-файл с очень большим текстовым узлом (> 10 МБ). При чтении файла можно ли пропускать (игнорировать) этот узел?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-парсер? –
В этом случае да. – diasks2
А, ок. Это, безусловно, делает проблему более сложной. Спасибо за разъяснения. –