XML 中的 ﹤![CDATA[ ]]>,及其解析

来源:互联网 发布:弹簧计算软件在线 编辑:程序博客网 时间:2024/06/09 18:44

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

0 0