Лучший модуль узла для разбора XML [закрыто]

271

Что касается синтаксического анализа XML, какой модуль узла лучше всего использовать для анализа XML?

Манодж
источник

Ответы:

199

Вы можете попробовать xml2js . Это простой конвертер объектов XML в JavaScript. Он преобразует ваш XML в объект JS, чтобы вы могли легко получить доступ к его содержимому.

Вот еще несколько вариантов:

  1. libxmljs
  2. XML-поток
  3. xmldoc
  4. cheerio - реализует подмножество ядра jQuery для XML (и HTML)

Я использовал, xml2jsи это работало хорошо для меня. Остальное вам, возможно, придется попробовать для себя.

mithunsatheesh
источник
4
libxmljs позволяет обходить xml с помощью таких команд, как .find(), действительно, полезных.
Рафаэль Ксавье
4
xml-streamработал для меня очень хорошо. Это особенно удобно при получении данных XML с удаленного сервера.
Глаз
2
xml2js очень хорошо сработал для меня
rainabba
XML-поток не работает с окнами. Используйте xml-поток! github.com/matthewmatician/xml-flow
matthewmatician
140

Этот ответ касается разработчиков для Windows. Вы хотите выбрать модуль синтаксического анализа XML, который НЕ зависит от expat узла . Node-expat требует node-gyp, а node-gyp требует , чтобы вы установили Visual Studio на свой компьютер. Если ваш компьютер - Windows Server, вам определенно не нужно устанавливать Visual Studio на него.

Итак, какой модуль синтаксического анализа XML выбрать?

Избавьте себя от многих проблем и используйте xml2js или xmldoc . Они зависят от sax.js, который является чистым Javascript-решением, не требующим поддержки узла.

Для libxmljs и xml-stream требуется node-gyp. Не выбирайте их, если у вас уже не установлена ​​Visual Studio на вашем компьютере или вы не против идти по этому пути.

Обновление 2015-10-24: кажется, кто-то нашел решение использовать нод-gyp в Windows без установки VS: https://github.com/nodejs/node-gyp/issues/629#issuecomment-138276692

Кристиан Вестербик
источник
19
@rainabba Вот почему я написал: Этот ответ касается разработчиков для Windows. На Windows VS требуется.
Кристиан Вестербик
10
@rainabba Я хотел бы процитировать первое предложение git-репо node-gyp, чтобы все было хорошо. Вы явно не страдаете от проблем с узлом в окне.
хвостовики
1
если бы я прочитал это, прежде чем пытаться использовать xml-поток, потерял пару часов, пытаясь заставить работать node-gyp
Nuno Furtado
4
Если ваш компьютер - Windows Server, вам определенно не нужно устанавливать Visual Studio на него. Кто-нибудь может объяснить это утверждение?
Num Lock
3
Visual Studio - довольно тяжелый инструмент разработки, обычно вы не хотите устанавливать (и лицензировать) инструменты разработки на производственных серверах.
Томас Редстоун