Найкращий модуль вузла для розбору XML [закритий]


271

Що стосується розбору XML, який найкращий модуль вузла, який я можу використовувати для розбору XML?

Відповіді:


199

Ви можете спробувати xml2js . Це простий конвертер об'єктів XML в JavaScript. Він перетворює ваш XML в об’єкт JS, щоб ви могли легко отримати доступ до його вмісту.

Ось кілька інших варіантів:

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

Я використав, xml2jsі це добре працювало для мене. Решта, можливо, доведеться спробувати самі.


4
libxmljs дозволяє пересувати xml за допомогою таких команд, як .find()дуже корисно.
Рафаель Ксав'є

4
xml-streamпрацював для мене дуже добре. Це особливо зручно при отриманні XML-даних з віддаленого сервера.
Очі

2
xml2js дуже добре працював для мене
rainabba

xml-stream не працює добре з Windows. Використовуйте xml-flow! github.com/matthewmatician/xml-flow
маттематик

140

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

Отже, який модуль розбору XML вибрати?

Збережіть собі багато клопоту і використовуйте xml2js або xmldoc . Вони залежать від sax.js, що є чистим рішенням Javascript, яке не потребує node-gyp.

І libxmljs, і xml-stream потребують node-gyp. Не вибирайте їх, якщо у вас вже не встановлено Visual Studio на вашій машині або ви не проти піти цією дорогою.

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


19
@rainabba Ось чому я написав: Ця відповідь стосується розробників для Windows. У Windows потрібен VS.
Крістіан Вестербек

10
@rainabba Я хочу, щоб цитувати перше речення node-gyp git repo, це все гаразд. Ви, очевидно, не стикалися з проблемами node-gyp у вікні.
хвостовики

1
бажаю, щоб я прочитав це, перш ніж намагатися використовувати xml-stream, пару годин, втрачених на спробі змусити node-gyp працювати
Nuno Furtado

4
Якщо ваш апарат є сервером Windows, ви точно не хочете встановлювати Visual Studio на ньому. Хтось може пояснити це твердження?
Num Lock

3
Visual Studio - це досить важкий інструмент розробки ваги, ви зазвичай не хочете встановлювати (і ліцензувати) інструменти розробки на виробничих серверах.
ThomasRedstone
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.