clojure.data.zip.xml 具有 (xml-> ...) 查找数据的功能。是否有返回位置的函数(使用类似于 (xml-> 语义),以便我可以使用该位置使用 clojure.zip 库使用 (zip/append-child ...) 将节点附加到树?
谢谢,
clojure.data.zip.xml 具有 (xml-> ...) 查找数据的功能。是否有返回位置的函数(使用类似于 (xml-> 语义),以便我可以使用该位置使用 clojure.zip 库使用 (zip/append-child ...) 将节点附加到树?
谢谢,
xml->
returns a seq of zipper locs, each of which can be used with append-child
:
;; using data.xml 0.0.7 and data.zip 0.1.1
(require '[clojure.zip :as zip]
'[clojure.data.xml :as xml]
'[clojure.data.zip.xml :as xz])
(-> (xz/xml-> (zip/xml-zip (xml/parse-str "<a><b>Foo</b><c>Bar</c></a>"))
(xz/tag= :b))
first
(zip/append-child (xml/->Element :d {} "Quux"))
zip/root
xml/emit-str)
;= "<?xml version=\"1.0\" encoding=\"UTF-8\"?><a><b>Foo<d>Quux</d></b><c>Bar</c></a>"