java解析CDATA元素内的数据
我需要解析一个如下所示的XML文件
1.<?xml version="1.0" encoding="UTF-8"?>
2.<Root>
3.<Record>
4.<in><![CDATA[<?xml version="1.0" encoding="UTF-8"?><XML><Attribute AttrID="A">Test</Attribute>-<Attribute AttrID="B"> <![CDATA[Aap Noot Mies]]> </Attribute>]]></XML></in>
5.<out><![CDATA[]]></out>
6.</Record>
7.</Root>
我在分析第4行时遇到错误有没有办法转义CDATA结束标记(]]>;)在xml文档的CDATA节中
# 1 楼答案
您的输入格式不正确有几个错误,我认为您需要修复生成的任何错误,以生成更像
请注意,外部CDATA需要
<![CDATA[
而不是<!CDATA[
。需要引用]]>
的第一次使用(例如,在此处停止和启动外部CDATA部分)。外部]]>
需要移动到</XML>
之后,以便引用元素的结尾和开头这使得文件在技术上结构良好,尽管W3C保留了名为
XML
(或通常以大写或小写xml
开头)的元素,以便在XML相关规范中使用,并且不应在用户XML文件中使用,除非它是W3C定义的特定元素或属性(例如xmlns
)此外,我在XML声明后的破折号周围添加了一条(引用的)注释,就好像CDATA部分被提取并制作成XML文档一样,这会使生成的文档格式不好,因为在第一个元素之前只允许空白或注释和PI