【发布时间】:2012-01-26 14:26:32
【问题描述】:
我正在用 java 解析一个 XML 文件。我如何知道元素是否包含 CDATA?换句话说如何识别包含 CDATA 的元素?谢谢
WL
【问题讨论】:
-
您的意思是
<[![CDATA ... ]]>部分?没有办法检测到它们,但幸运的是,您也绝对不需要检测它们。 -
一些解析器确实会暴露 CDATA 块(虽然我无法说出其中的一个)......但正如 Tomalak 所说,你永远不需要关心。
-
那么我怎样才能得到那个元素的值。在 CDATA 部分,我可以像 nl.item(0).getFirstChild().getNodeValue() 一样得到它。其中 nl 是 nodelist 但我无法在涉及 CDATA 的地方得到它。请帮忙
-
事实上,我正在打开一个 xml 文件并根据需要进行一些更改,然后将其保存回同一文件或新文件中。在解析时,我甚至可以通过在整个文件上应用 documentBuilderFactory.setCoalescing(true) 来获取涉及 CDATA 的数据,但是当我写回它时,我需要知道哪些元素具有 CDATA,以便我可以相应地写回文件。有什么建议吗?