我成功使用Clojure data.zip库来导航xml并提取我想要的值,但是如果我能一次提取所有元素的属性会很方便。我目前无法使用attr
函数逐个提取它们。例如:
(xml1-> article :meta (xml/attr :attr1))
然后再次:attr2
然后:attr3
,依此类推。什么会是伟大的将是这样的:
(xml1-> article :meta :attrs)
返回可用属性的地图。
答案 0 :(得分:2)
xml1->
会返回拉链loc
或nil
,因此您可以创建自己的函数来返回所有属性:
(require '[clojure.zip :as zip])
(defn attrs [loc]
(when (zip/branch? loc) (-> loc zip/node :attrs)))
这几乎与attr
函数here完全相同。