如何从Java中删除XML中的CDATA并进行一些转换?

时间:2012-10-16 07:36:07

标签: java xml

我正在尝试创建Java Servlet,它将修改现有的XML。

这是我的原始XML的一部分:

<customfieldvalues>
<div id="errorDiv" style="display:none;"/>
<![CDATA[ 
 Vinduer, dører
 ]]>
</customfieldvalues>

我想得到以下结果:

<customfieldvalues>
<div id="errorDiv" style="display:none;"/>
Vinduer, d&#248;rer
</customfieldvalues>

我用以下代码迭代XML结构:

Document doc = parseXML(connection.getInputStream());
NodeList descNodes = doc.getElementsByTagName("customfieldvalues");
for (int i=0; i<descNodes.getLength();i++) {
    Node node = descNodes.item(i);
    // how to ?
}   

因此,我需要删除CDATA并转换内容。 我看到我可以使用this进行转换。

1 个答案:

答案 0 :(得分:0)

javax.xml.parsers.DocumentBuilderFactory.setCoalescing API

  • 指定此代码生成的解析器
  • 将CDATA节点转换为Text节点并将其附加到
  • 相邻(如果有)文本节点。默认情况下,此值设置为
  • false