clojure parse xml

今天玩了下clojure, 試着解析xml。
有幾點心得:

1> 確實簡練:
(ns work (:require 
[clojure.xml :as xml]
[clojure.zip :as zip]
[clojure.data.zip.xml :as zf] )
)

(defn parse-xml-file
"parse xml to zipper map"
[xml-file]
(zip/xml-zip (xml/parse xml-file))
)


(defn get-value [xml & tags]
(apply zf/xml->
xml
(conj (vec tags) zf/text))
)
(def xml-var (parse-xml-file "test.xml"))
;to get 'a/b'
(get-value xml-var :a :b)


2> 如果a是根節點那麼檢索不到。這是爲什麼?待解答。
3> apply 的用法,要在詳細研究。
4> vec 與vector 是不同的函數
(vec '(1 2 3));return [1 2 3]
(vector '(1 2 3));return [(1 2 3)]

這一點,要仔細研究。
發佈了48 篇原創文章 · 獲贊 1 · 訪問量 3318
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章