2012-02-17 103 views
1

我使用LSSerializer生成XML。問題是,OutputFormat我可以設置一個CData的數組,但我不能這樣做,我從LSSerializer得到DOMConfiguration將CDataElements添加到DOM配置

這是舊版本:

OutputFormat of = new OutputFormat(); 
String[] arrayOfCDATAHandledElements = { "^Tag1", "^Tag2" }; 
of.setCDataElements(arrayOfCDATAHandledElements); 

,新的版本:

LSSerializer domWriter = impls.createLSSerializer();    
DOMConfiguration domConfig = domWriter.getDomConfig(); 
String[] arrayOfCDATAHandledElements = { "^Tag1", "^Tag2" }; // how would one add it? 
domConfig.setParameter("cdata-sections", Boolean.TRUE); 

我想在我的XML添加爲Tag1中&與Tag2的CDATA。

回答

0

雖然我可以看到這個問題是從2012年開始的,但我最近嘗試修復一些非常舊的代碼時遇到了同樣的問題。從我所知道的,當你建立你的文件,你應該確保需要有CDATA標記的任何節點都建立如下:

org.w3c.dom.CDATASection commentTextNode = 
    document.createCDATASection("My Comment with funky [email protected]#$ characters"); 

這是相對於OUTPUTFORMAT如何處理CDATA通過指定元素(按名稱)需要格式化爲CDATA。