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 にあまり慣れていないので、単純なものが欠けていると確信しています。:(
前もって感謝します...