有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java输出XML文件和CDATA

我对javax有问题。xml。使改变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格式


共 (1) 个答案

  1. # 1 楼答案

    不能-^output属性对应于<xsl:output>的XSLT cdata-section-elements属性,这只允许您根据QName定义元素,而不是匹配表达式

    但这并不重要,因为就XML解析器而言<foo>text</foo><foo><![CDATA[text]]></foo>是相同的