На каком языке писать демон для разбора XML?

Подскажите, на каком языке лучше реализовать демона для разбора огромного XML.

Вариантов у меня не много, знаю php, python.
Возможно, есть какое-то решение с не очень высоким порогом вхождения, с удовольствием бы освоил новые технологии, но, например, C++ займут, я полагаю, много времени.

Как это делают большие дяди и на чем, я тоже так хочу!
Спасибо.
  • Вопрос задан
  • 2434 просмотра
Решения вопроса 2
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Огромный XML на любом языке разбирают поточными парсерами, например SAX.
Ответ написан
Комментировать
@throughtheether
human after all
Подскажите, на каком языке лучше реализовать демона для разбора огромного XML.
Я разбирал только небольшие файлы, но если бы стояла задача разобрать большой XML, я бы начал с python/lxml. Ссылки по теме: 1, 2.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@ugodrus
Демон - мне кажется слишком громко сказано. Демону надо ещё умудриться скормить большой файл. Да ещё и указать что с ним сделать. Вы наверное пользуетесь стандартной xml библиотекой и соответственно большой файл обваливает интерпретатор.
Очень рекомендую покопать в сторону самодельного парсера. Как пример в PHP есть XML parser. При скромных потребностях на нем можно распарсить хоть 10Gb xml при потреблении памяти до 10mb. Главное чтобы по времени ограничений не было.
Пример реализации здесь.
Я себе что-то похожее собирал. Но не как полноценный парсер, а как утилиту первичного разбора xml для последующей обработки вне её и с поддержкой своего рода запросов (сделать что-то с элементами у которых определенный node-path). Разбирал максимум 100mb xml.
Ответ написан
Комментировать
Halfi
@Halfi
Если на php, то кокопайте в сторону XMLReader - xml парсер, построенный на SAX и читает xml файл не весь сразу, а от ноды к ноде.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы