3
我遇到了javax.xml.transform.Transformer類及其setOutputProperty方法的問題。我試圖讓一個XML輸出Java輸出XML文件和CDATA
<name>
<text>XXXXXXXXXX</text>
</name>
<questiontext format="html">
<text><![CDATA[YYYYYYYYYYY]]></text>
</questiontext>
但使用:
Transformer trans = transfac.newTransformer();
trans.setOutputProperty(OutputKeys.CDATA_SECTION_ELEMENTS, "text");
原因兩個文本節點由CDATA標籤被嵌入像這樣:
<name>
<text><![CDATA[XXXXXXXXXX]]></text>
</name>
<questiontext format="html">
<text><![CDATA[YYYYYYYYYYY]]></text>
</questiontext>
所以我想我需要一種方法來指定文本元素的父項,但我還沒有找到辦法,javadocs沒有指定使用哪種符號。另外我不能改變輸出XML格式。
感謝您的回覆。我不知道稍後會在XML中使用什麼解析器,但是我希望這個額外的CDATA不會引起任何它不應該出現的問題。我甚至試圖傳遞一個包含CDATA標籤的字符串,但之後Transformer在解析「<" and ">」字符時出現問題。 – maxPayne