XML 中的 ﹤![CDATA[ ]]>,及其解析
阿新 • • 發佈:2019-01-28
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);