我真的被困在这里。我正在用Groovy 1.7创建一个XML文档,并且一切正常,除了不应该进行转义的部分除外。
我是这样开始的:
triadDoc = new XmlSlurper().parse(xmlTriadMessageDocumentPath)
writer = new StringWriter()
xmlBuilder = new StreamingMarkupBuilder()
writer = xmlBuilder.bind {mkp.yield triadDoc}
效果很好。然后,我将这样添加到文档中:
triadDoc.TriadPayload.Payload[0] = "<![CDATA[" + xmlBuilder.bind {mkp.yieldUnescaped dto.getCcdDoc()} + "]]>"
这不符合我的期望-我最终得到了:
& lt;![CDATA[& lt;ClinicalDocument& gt;... (added extra blank to the escape sequences)
谁能告诉我我在做什么错?我在互联网上寻找线索。谢谢!!
最佳答案
您需要将整个CDATA块传递给yieldUnescaped
mkp.yieldUnescaped( "<![CDATA[.....