我正在使用Clojure的data.xml库(版本0.0.8,最新稳定版)来读/写xml文件。
我可以使用clojure.data.xml/parse
解析输入流,但我找不到将对象转换回XML的方法。
(let [parsed (clojure.data.xml/parse input)
back-to-string (clojure.data.xml/emit-str parsed)]
...)
在此示例中,(emit-str parsed)
调用将引发以下异常:
javax.xml.stream.XMLStreamException: Prefix cannot be null
at com.sun.xml.internal.stream.writers.XMLStreamWriterImpl.writeAttribute (XMLStreamWriterImpl.java:575)
clojure.data.xml$write_attributes.invokeStatic (xml.clj:39)
clojure.data.xml$write_attributes.invoke (xml.clj:35)
clojure.data.xml$emit_start_tag.invokeStatic (xml.clj:50)
clojure.data.xml$emit_start_tag.invoke (xml.clj:47)
clojure.data.xml$emit_event.invokeStatic (xml.clj:67)
clojure.data.xml$emit_event.invoke (xml.clj:65)
clojure.data.xml$emit.invokeStatic (xml.clj:379)
clojure.data.xml$emit.doInvoke (xml.clj:366)
clojure.lang.RestFn.invoke (RestFn.java:425)
clojure.data.xml$emit_str.invokeStatic (xml.clj:387)
clojure.data.xml$emit_str.invoke (xml.clj:383)
什么是XML前缀以及如何将其重新添加到对象中? 提前谢谢。