Clojures clojure.xml/parse,clojure.zip/xml-zip和clojure.contrib.zip-filter.xml/xml->是用于从xml中提取值的优秀工具,但如果我想更改xml(结果如果) clojure.zip/xml-zip)基于我从xml->"查询"中学到的东西,并将结果写回xml?
我原以为(clojure.contrib.prxml/prxml(clojure.xml/parse xml-content))吐出xml,但事实并非如此.
更新:实际上,为了发布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"
Run Code Online (Sandbox Code Playgroud)
(with-out-str
捕获打印输出并将其包装为字符串;由于某种原因xml/emit
打印xml,所以它在这里派上用场.emit-element
如果<?xml version='1.0' encoding='UTF-8'?>
不是你想要的话,你会想要使用.)
归档时间: |
|
查看次数: |
2247 次 |
最近记录: |