2010-11-16 5 views
10

J'essaye d'analyser une chaîne XML avec libxmljs (https://github.com/polotek/libxmljs). J'ai quelques problèmes cependant. J'ai besoin d'appliquer la logique à ce que j'analyse et de revenir en fonction de ce qui est défini et de ce qui ne l'est pas. Pour cette raison, je ne vois pas un analyseur de style SAX étant une option valide.Parse XML Libxmljs (Node.js)

Je suis prêt à regarder d'autres alternatives si je peux réaliser ce que je cherche. Être capable de sélectionner des éléments comme DOMParser xmlDoc.getElementsById('firstName')[0].childNodes[0].nodeValue serait génial ...

+0

Je suppose que le fichier README se concentre sur l'analyse du sax. La plupart des gens utilisent les trucs DOM. Je vais le mettre à jour pour préciser que DOM est possible et donner des exemples. – Marco

Répondre

17

libxmljs supporte DOM ainsi que l'analyse syntaxique SAX. L'API est personnalisée et ne suit pas la spécification W3C/browser (elle figure dans ma liste). Vous voudrez utiliser xpath pour interroger le document pour le contenu que vous voulez.

xmlDoc.find("//[@id='firstName']")[0].childNodes()[0].text() 

Notez que childNodes et text sont des appels de fonction. Jetez un oeil à la docs.

https://github.com/polotek/libxmljs/wiki/Element

Pour autant que je sache, libxmljs et jsdom sont les deux bibliothèques qui ont des implémentations DOM décent.