Манипулирование большими XML-документами - PullRequest
1 голос
/ 02 июля 2010

Я хочу проанализировать файл XML, изменить некоторые атрибуты и записать результаты в новый файл XML.Данный XML-файл очень большой (приблизительно 2 ГБ).

Кто-нибудь имеет опыт работы с такими XML-файлами с использованием Ruby и может порекомендовать мне библиотеку?

С уважением

1 Ответ

1 голос
/ 02 июля 2010

Во-первых, я предполагаю, что вы говорите об изменении некоторых атрибутов для группы элементов. При этом вы не хотите читать весь документ сразу (анализ на основе DOM), вы действительно хотите иметь дело с элементами такими, какими вы их видите (анализ на основе SAX). Я не рубиновый человек, но быстрый поиск обнаружил хорошую информацию о разборе SAX в Ruby, в частности этот пост http://lucaguidi.com/2008/01/30/ruby-xml-parsing-with-sax.

Если у вас есть только несколько атрибутов на небольшом количестве элементов, я бы порекомендовал другой подход. Во-первых, если вы можете указать элементы, которые вы хотите изменить, как регулярное выражение, может быть проще использовать инструмент командной строки, такой как sed, для редактирования файлов.

...