Ответ 1
Обновление: На самом деле, для испускания 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
, если <?xml version='1.0' encoding='UTF-8'?>
не является что вы хотите.)