我真的被困在这里了。我正在使用 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 block 传递给yieldUnescaped
mkp.yieldUnescaped( "<![CDATA[.....
关于java - mkp.yieldUnescaped 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2974423/