El mejor módulo de nodo para el análisis XML [cerrado]

Respuestas:

199

Puedes probar xml2js . Es un simple convertidor de objetos XML a JavaScript. Hace que tu XML se convierta en un objeto JS para que puedas acceder a su contenido con facilidad.

Estas son algunas otras opciones:

  1. libxmljs
  2. xml-stream
  3. xmldoc
  4. cheerio : implementa un subconjunto de core jQuery para XML (y HTML)

Lo he usado xml2jsy me ha funcionado bien. El resto puede que tenga que probarlo usted mismo.

mithunsatheesh
fuente
44
libxmljs permite atravesar el xml con comandos como .find(), realmente útiles.
Rafael Xavier
44
xml-streamMe funcionó muy bien. Es especialmente conveniente cuando se reciben datos XML de un servidor remoto.
Ojo
2
xml2js me ha funcionado muy bien
rainabba
xml-stream no funciona bien con Windows. ¡Usa xml-flow! github.com/matthewmatician/xml-flow
matthewmatician
140

Esta respuesta se refiere a los desarrolladores para Windows. Desea elegir un módulo de análisis XML que NO dependa de node-expat . Node-expat requiere node-gyp y node-gyp requiere que instales Visual Studio en tu máquina. Si su máquina es un servidor de Windows, definitivamente no desea instalar Visual Studio en ella.

Entonces, ¿qué módulo de análisis XML elegir?

Ahórrese muchos problemas y use xml2js o xmldoc . Dependen de sax.js, que es una solución Javascript pura que no requiere nodo-gyp.

Tanto libxmljs como xml-stream requieren node-gyp. No elija estos a menos que ya tenga instalado Visual Studio en su máquina o no le importe ir por ese camino.

Actualización 2015-10-24: parece que alguien encontró una solución para usar node-gyp en Windows sin instalar VS: https://github.com/nodejs/node-gyp/issues/629#issuecomment-138276692

Christiaan Westerbeek
fuente
19
@rainabba Por eso escribí: esta respuesta se refiere a los desarrolladores para Windows. En Windows VS es obligatorio.
Christiaan Westerbeek
10
@rainabba Deseo citar la primera oración del nodo-gyp git repo hace que todo esté bien. Claramente, no ha estado plagado de problemas de nodo-gyp en la ventana.
vástagos
1
Ojalá leyera esto antes de intentar usar xml-stream, un par de horas perdidas al intentar hacer que el nodo-gyp funcione
Nuno Furtado
44
Si su máquina es un servidor de Windows, definitivamente no desea instalar Visual Studio en ella. ¿Alguien puede explicar esta afirmación?
Num Lock
3
Visual Studio es una herramienta de desarrollo bastante pesada, generalmente no desea instalar (y licenciar) herramientas de desarrollo en servidores de producción.
ThomasRedstone