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);