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

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

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值