Clojureでxmlを読み込んでみたのでメモ
- core.clj
(ns xmlhello.core (:require [clojure.xml :as xml])) (defn load-xml-seq [filepath] (xml-seq (xml/parse (java.io.File. filepath))))
- data.xml(Leiningenによるプロジェクトフォルダ直下に格納)
<records> <record id="1">record1</record> <record id="2">record2</record> </records>
- 利用例
(use :reload 'xmlhello.core) (let [xmlseq (load-xml-seq "data.xml")] (for [x xmlseq :when (= :record (:tag x))] (:content x))) ; -> (["record1"] ["record2"])