CDATA
CDATA 全名:character data。所有 XML 文档中的文本均会被解析器解析,除了 CDATA 区段(CDATA section)中的文本会被解析器忽略。
CDATA的形式如下: <![CDATA[文本内容]]> 。
CDATA的文本内容中不能出现字符串“]]>”。另外,CDATA不能嵌套。
XML 实例: 在CDATA标记中的信息被解析器原封不动地传给应用程序,并且不解析该段信息中的任何控制标记。 CDATA区域是由“<![CDATA["为开始标记,以“]]>”为结束标记,注意CDATA为大写。
QDom 解析 xml 中的CDATA
例如 解析下面的 Data 节点中的 CDATA,并将图片数据加载到内存中:
<Data>
<![CDATA[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]]>
</Data> QDomText text = elem.firstChild().toText();
QByteArray data = text.data().toUtf8();
data = QByteArray::fromBase64(data);
if(!data.isEmpty()){
QPixmap pix;
pix.loadFromData(data);
image->setBitmap(pix);
}或者 QSring data= elem.firstChild().nodeValue();
QByteArray bitData = data.toUtf8();
bitData = QByteArray::fromBase64(bitData);
pix.loadFromData(bitData);
本文介绍了XML文档中的CDATA概念及其用途,解释了CDATA的格式规范,包括不允许出现的字符串及嵌套规则。并通过一个具体的QDom解析器示例,展示了如何处理包含图片数据的CDATA段。
6621

被折叠的 条评论
为什么被折叠?



