1
是否可以從GRAILS轉換器寫入CDATA?在GRAILS應用程序中,我需要爲CDATA編寫一些XML元素。在調試器中運行grails代碼之後,它看起來像XMLStreamWriter不可訪問。任何建議?Grails XML轉換器 - 寫入CDATA
是否可以從GRAILS轉換器寫入CDATA?在GRAILS應用程序中,我需要爲CDATA編寫一些XML元素。在調試器中運行grails代碼之後,它看起來像XMLStreamWriter不可訪問。任何建議?Grails XML轉換器 - 寫入CDATA
沒有可能通過xml轉換器添加cdata。您可以使用StreamingMarkupBuilder: Generate CDATA inside of tag using StreamingMarkupBuilder
,或者有一個很好的uglyhack,複製」 .chars'從常規轉換器定義正確的方法在你的代碼,寫字符轉義:
converter.startNode('property')
converter.attribute('name', propertyName)
converter.startNode('value')
//converter.chars("<![CDATA[" + propertyValue + "]]>")
//as chars in xml converter go escaped, had to rewrite the method here:
converter.checkState();
try {
if (converter.writer.mode == TAG) {
converter.writer.endStartTag();
}
converter.writer.mode = CONTENT;
//we put the data unescaped:
converter.writer.writer.unescaped().write("<![CDATA[" + propertyValue + "]]>");
}
catch (Exception e) {
throw ConverterUtil.resolveConverterException(e);
}
//-----------------
converter.end()
converter.end()