欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

clojure parse xml

程序员文章站 2022-07-14 14:45:36
...
今天玩了下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)]

这一点,要仔细研究。
相关标签: clojure