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

CDATA

CDATA 全名:character data。所有 XML 文档中的文本均会被解析器解析除了 CDATA 区段(CDATA section)中的文本会被解析器忽略。

CDATA的形式如下:

CDATA的文本内容中不能出现字符串“]]>”。另外,CDATA不能嵌套。

XML 实例: 在CDATA标记中的信息被解析器原封不动地传给应用程序,并且不解析该段信息中的任何控制标记。 CDATA区域是由“”为结束标记,注意CDATA为大写。

QDom 解析 xml 中的CDATA

例如 解析下面的 Data 节点中的 CDATA,并将图片数据加载到内存中:

   
 
        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,QDom,CDATA,QT,QPixmap,Qt)