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


271

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

Ответы:


199

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

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

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

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


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 - довольно тяжелый инструмент разработки, обычно вы не хотите устанавливать (и лицензировать) инструменты разработки на производственных серверах.
Томас Редстоун
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.