Clojure d'Analyse XML
Je ne peux trouver aucune info sur comment analyser des documents xml et des éléments d'accès.
J'ai trouvé deux façons d'analyser le document xml
(clojure.zip/xml-zip (clojure.xml/parse file))
et
(parse-seq file)
mais je peut sembler à trouver des infos sur la façon de traiter la structure qui en résulte?
Source du fichier se réfère à zip-requête.clj sur la façon d'interroger le résultat, mais qui semble manquer aussi.
- Les exemples de zip-requête.clj peut être trouvé dans xml_test.clj qui se trouve dans src/test/clojure/clojure/data/zip dans le dépôt github pour clojure.data.zip
- Drôle, j'ai demandé à ce que bien, et a obtenu d'excellentes réponses de certains de la plupart des gens utiles sur DONC. Cependant, même après l'exécution de l'résultant analysée data.xml par le biais de l'une des suggestions, la nouvelle structure ne fait toujours pas beaucoup de sens pour moi. Je vais regarder votre xml-zip, à moins que data.xml c'est son successeur.
Vous devez vous connecter pour publier un commentaire.
Supposons que vous disposez des éléments xml à analyser dans votre fichier:
vous chargez
clojure.xml
:quand analysée, le xml aura la structure suivante:
et puis vous pouvez seq sur le contenu du fichier pour obtenir le contenu de la
low-node
:De même, si vous voulez avoir accès à l'ensemble de la liste des informations sur les bas-nœud, vous pouvez modifier l'
:when
prédicat(= (:high-node (:tag x)))
:Cela fonctionne parce que les mots clés peuvent fonctionner comme des fonctions. Voir Des Questions sur les listes et d'autres choses en Clojure et Structures De Données: Les Mots Clés
(doall ...)
autour de la(for)
.La réponse ci-dessus fonctionne, mais je trouve ça beaucoup plus facile à utiliser
clojure.data.zip.xml
(utilisé pour êtreclojure-contrib.zip-filter.xml
avant Clojure 1.3).fichier:
myfile.xml
:code:
Malheureusement, vous avez besoin de tirer dans une dépendance sur data.zip pour obtenir cette belle lecture/fonctionnalités du filtre. Il vaut la peine de la dépendance 🙂 Dans lein il serait (à compter de 17-Aug-2013):
Et comme pour les docs pour
data.zip.xml
... je viens de regarder le relativement petit fichier source ici voir ce qui est possible. Un autre bon ALORS répondez ici, trop.