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