2013-11-24 4 views
0

Я работаю над написанием анализатора для конкретного документа на основе XML, который содержит множество правил и сложный интерфейс.Интерфейс XML-парсера для разных языков

Я собирался написать парсер в Ruby, чтобы разобрать его на JSON. Тогда поняли, что многие другие люди, которые используют разные языки, любят его использовать. Поэтому я подумываю о создании центральной системы правил, где каждый язык может обернуть ее и создать собственный парсер.

Любая идея, как это сделать?

+0

Взгляните на (nokogiri nokogiri.org). – mudasobwa

+0

Я ищу не-рубиновый парсер, некоторую оболочку, с которой позже я смогу использовать nokogiri. – Matilda

ответ

0

Это вряд ли будет продуктивным для вас, чтобы написать собственный XML-парсер с нуля.

Как вы и ожидали, действительно существует необходимость в анализе XML на всех основных языках. Вероятно, вы найдете библиотеки, которые реализуют несколько моделей синтаксического анализа на любом языке, который вам нужен. Помните о древовидных моделях, таких как DOM, потоковые модели, такие как SAX, и модели на основе тяг, такие как StAX. Также рассмотрите модели обработки XML выше уровня синтаксического анализа: декларативные преобразования (например, XSLT) и привязку данных (например, JAXB).

«Центральная система правил», которую вы видите, также реализована в схемах (например, XSD, RelaxNG, Schematron, ...).

+1

http://amolnpujari.wordpress.com/2012/03/31/reading_huge_xml-rb/ Я также нашел, что бык в 5 раз быстрее чем nokogiri при чтении большого xml. Плюс У меня есть написанная оболочка, которая просто позволяет вам искать большой xml с помощью ox, позволяет вам итератировать с указанным элементом. https://gist.github.com/amolpujari/5966431 –

Смежные вопросы