Le meilleur module de noeud pour l'analyse XML [fermé]

Réponses:

199

Vous pouvez essayer xml2js . Il s'agit d'un simple convertisseur d'objet XML en JavaScript. Il convertit votre XML en objet JS afin que vous puissiez accéder facilement à son contenu.

Voici quelques autres options:

  1. libxmljs
  2. xml-stream
  3. xmldoc
  4. cheerio - implémente un sous-ensemble de core jQuery pour XML (et HTML)

J'ai utilisé xml2jset cela a bien fonctionné pour moi. Le reste, vous devrez peut-être essayer par vous-même.

mithunsatheesh
la source
4
libxmljs permet de parcourir le xml avec des commandes comme .find(), vraiment utiles.
Rafael Xavier
4
xml-streama très bien fonctionné pour moi. C'est particulièrement pratique lors de la réception de données XML à partir d'un serveur distant.
Eye
2
xml2js a très bien fonctionné pour moi
rainabba
xml-stream ne fonctionne pas bien avec Windows. Utilisez xml-flow! github.com/matthewmatician/xml-flow
matthewmatician
140

Cette réponse concerne les développeurs pour Windows. Vous souhaitez choisir un module d'analyse XML qui ne dépend PAS de node-expat . Node-expat nécessite node-gyp et node-gyp vous oblige à installer Visual Studio sur votre machine. Si votre machine est un serveur Windows, vous ne voulez certainement pas y installer Visual Studio.

Alors, quel module d'analyse XML choisir?

Épargnez-vous beaucoup de problèmes et utilisez xml2js ou xmldoc . Ils dépendent de sax.js qui est une solution Javascript pure qui ne nécessite pas de node-gyp.

Les deux libxmljs et flux xml nécessitent nœud Gyp. Ne les choisissez pas à moins que Visual Studio ne soit déjà installé sur votre machine ou que cela ne vous dérange pas d'aller dans cette direction.

Mise à jour 2015-10-24: il semble que quelqu'un ait trouvé une solution pour utiliser node-gyp sur Windows sans installer VS: https://github.com/nodejs/node-gyp/issues/629#issuecomment-138276692

Christiaan Westerbeek
la source
19
@rainabba C'est pourquoi j'ai écrit: Cette réponse concerne les développeurs pour Windows. Sous Windows VS est requis.
Christiaan Westerbeek le
10
@rainabba Je souhaite que la première phrase du dépôt git node-gyp rend tout cela correct. Vous n'avez clairement pas été en proie à des problèmes de nœud-gyp sur la fenêtre.
jarrets
1
J'aimerais lire ceci avant d'essayer d'utiliser xml-stream, quelques heures perdues en essayant de faire fonctionner node-gyp
Nuno Furtado
4
Si votre machine est un serveur Windows, vous ne voulez certainement pas y installer Visual Studio. Quelqu'un peut-il expliquer cette déclaration?
Verrouillage numérique
3
Visual Studio est un outil de développement assez lourd, vous ne voulez généralement pas installer (et mettre sous licence) des outils de développement sur des serveurs de production.
ThomasRedstone