我试图弄清楚为什么在某些情况下 StreamingMarkupBuilder() 会产生非 XML。我是这样称呼它的:
public static void saveXMLToFile(def document, String file) {
def xmlBuilder = new StreamingMarkupBuilder().bind {
mkp.xmlDeclaration()
mkp.yield document
}
new File(file).withWriter { out ->
out << xmlBuilder
}
}
这是我们如何到达那里的:
def document = new XmlParser(false, false).parse(manuscriptFile)
if (document.name().equals("appendix")) {
def newNode = new groovy.util.Node(null, "chapter", document.attributes(),
document.value())
XMLUtils.saveXMLToFile(newNode, manuscriptFile)
}
但我没有得到 XML,而是得到:
<?xml version='1.0'?>
title[attributes={id=_2140_5145_361}; value=[An introduction to blah]]partintro
[attributes={id=_2140_5145_362}; value=[para[attributes={id=_2140_5145_363}; value=[My
contents, blah blah blah]]]
我已经尝试过文档,但不幸的是,我对 Groovy 的了解并不多,所以我确信我错过了一些简单的东西。:(
提前致谢...