例如,prxml函数将XML打印到*out*.我想将此输出捕获为String.以下是REPL的典型用法:
user> (prxml [:p "Test"])
<p>Test</p>nil
Run Code Online (Sandbox Code Playgroud)
我反而喜欢这样做:
(def xml (capture-out (prxml [:p "Test"])))
Run Code Online (Sandbox Code Playgroud)
我编写了捕获功能,但我怀疑它存在,只有我在API或邮件列表中找不到它.
我刚刚发现与出-STR从这个巨大的博客文章中详细介绍的Clojure的XML处理.
所以我的例子的正确实现是:
(def xml (with-out-str (prxml [:p "Test"])))
Run Code Online (Sandbox Code Playgroud)