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)]

这一点,要仔细研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值