簡體   English   中英

Java輸出XML文件和CDATA

[英]Java output XML file and CDATA

我遇到了javax.xml.transform.Transformer類及其setOutputProperty方法的問題。 我正在嘗試獲取XML輸出

   <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格式。

您不能 - OutputKeys.CDATA_SECTION_ELEMENTS輸出屬性對應於<xsl:output>的XSLT cdata-section-elements屬性,並且只允許您根據QNames定義元素,而不是匹配表達式。

但是,因為<foo>text</foo><foo><![CDATA[text]]></foo>就XML解析器而言是相同的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM