我目前正在尝试使用java解析xml文件但是在解析时我无法解析任何元素标记的CDATA部分中存在的标记。在使用DOM或SAX进行解析时,CDATA部分内的整个数据将被解析为文本。
请在没有任何硬编码的情况下提出任何建议。
<Evaluation>
<![CDATA[<evaluation>
<interview ratingtype="0"/>
<item description="Ability to communicate well with others verbally and in writing:" hasrating="True" hascomments="False" /> ............ </item>
</evaluation> ]]
</Evaluation>
答案 0 :(得分:2)
CDATA部分是文本节点。所以解析器正确读取它作为单个字符串。 CDATA部分意味着解析器不会对实体进行任何解码。您可以在specification。
中详细了解相关信息如果要将CDATA部分的内容视为XML文档或片段,则需要手动执行此操作 - 换句话说:单独解析它。
答案 1 :(得分:0)
CDATA代表文本节点,如上所述。 将标签保留在CDATA部分内是没有意义的。 CDATA应该用于存储普通字符串。
在这种情况下,解析器不会将和标签解析为元素。