2010-06-04 74 views
1

我真的被困在這裏。我正在使用Groovy 1.7創建一個XML文檔,除了一個部分不應該被轉義時,所有部分都在工作。mkp.yield未轉義

我開始了這樣的:

  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

我拒絕幫助別人的黑社會 – 2010-06-04 13:42:15

+0

編寫軟件? Triad是我公司的內部消息格式/模式 – Mark 2010-06-04 15:47:55

回答

2

需要整個CDATA塊傳遞給yieldUnescaped

mkp.yieldUnescaped("<![CDATA[..... 
0

注意:文檔中的CDATA部分被解析器忽略。

也許這是什麼導致這個東西跳過。

這四個字符需要在一起才能得到'<'和'>'值。

<![CDATA [<ClinicalDocument> ...

+0

是的,正如我上面所述,我插入空白讓我表明它不能正常工作。如果我刪除空白,它看起來像在工作(用於在此站點上呈現) – Mark 2010-06-04 15:44:43