clojure data.xml emit-str抛出XMLStreamException:前缀不能为null

时间:2018-02-10 18:45:37

标签: xml clojure clojure-java-interop

我正在使用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前缀以及如何将其重新添加到对象中? 提前谢谢。

0 个答案:

没有答案