我的問題是這樣的:QDomDocument無法打開的內容有:在文本
我打開一個XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<A>
<C>A</C>
<D>212</D>
<E>Test1 & Test2</E>
</A>
這是不可能的設置類似如下的內容:
xmlFile->open(QIODevice::ReadOnly|QIODevice::Text;
QDomDocument doc("mydocument");
if (!doc.setContent(xmlFile, &msg, &line, &col)) {
qDebug()-><<"Failure in Column: "<<(QString)col<<" Line: "+(QString)line;
return false;
}
如果我從XML文件中刪除&我可以設置內容。
爲什麼?
AFAIK,您的示例文件是無效的XML。 '&'必須表示爲'&'。 – Angew
問題是,我只允許讀取XML,並在XML中聲明瞭如示例中所述的!有誰知道解決方法? – user1957388
您可能想使用自己的'QXmlErrorHandler'並以某種方式從錯誤中恢復。不知道是否有可能。另一種選擇是預處理文件並將'&'轉換爲'&'。 – Angew