前端之家收集整理的这篇文章主要介绍了
在Clojure中突变XML,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Clojures clojure.xml / parse,clojure.zip/xml-zip和clojure.contrib.zip-filter.xml / xml->是从xml中
提取值的优秀工具,但是如果我想根据从xml->中学到的
内容更改xml(clojure.zip/xml-zip的结果),该怎么办? “
查询”并将结果写回xml?
我会预期(clojure.contrib.prxml / prxml(clojure.xml / parse xml-content))吐回xml,但情况并非如此.
@H_
404_4@
更新:实际上,为了发布
XML,最好使用clojure.contrib.lazy-xml / emit,因为clojure.xml / emit目前可能会破坏事情!看下面我的
评论.
(现在把这个答案留在这里作为警告)
如果我理解正确,问题的主要重点是将(可能是突变的)XML表示转换成XML文本?
如果是这样,请查看clojure.xml / emit和clojure.xml / emit-element:
user> (with-out-str (xml/emit {:tag :foo :attrs {:bar "quux"}}))
"<?xml version='1.0' encoding='UTF-8'?>\n<foo bar='quux'/>\n"
(with-out-str捕获打印的输出并将其包装成一个字符串;由于某种原因,xml / emit打印出xml,所以它在这里很方便,你将要使用emit-element if<?xml version = '1.0'encoding ='UTF-8'?>不是你想要的.)