mkp.yieldUnescaped, не работающий

Я действительно застреваю здесь. Я создаю 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)

Кто-либо может сказать мне, что я делаю неправильно? Я посмотрел на всем протяжении Интернета для подсказки.Спасибо!!

1
задан Dónal 4 June 2010 в 13:42
поделиться

2 ответа

вам необходимо передать весь блок CDATA в yieldUnescaped

 mkp.yieldUnescaped( "<![CDATA[.....
2
ответ дан 3 September 2019 в 00:04
поделиться

ПРИМЕЧАНИЕ. Раздел CDATA в документе игнорируется анализатором.

может быть, это то, что заставляет эту вещь пропускать.

четыре символа должны быть вместе, чтобы получить значения '<' и '>'.

...

0
ответ дан 3 September 2019 в 00:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: