Я действительно застреваю здесь. Я создаю XML-документ с Groovy 1.7, и все работает кроме одного раздела, оставляется, когда он не был должен.
Я начинаю как это:
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[.....
ПРИМЕЧАНИЕ. Раздел CDATA в документе игнорируется анализатором.
может быть, это то, что заставляет эту вещь пропускать.
четыре символа должны быть вместе, чтобы получить значения '<' и '>'.
...