if(ee.nodeName()==QObject::tr("測試"))
{
QDomNodeList list=ee.childNodes();
for(int i=0;i<list.count();i++)
{
QDomNode node=list.at(i);
if(node.isElement())
{
if(node.nodeName()==QObject::tr("F0"))
{
F0=node.toElement().text();qDebug()<<F0;
}
。。。。。。。。。。
}
QDomNodeList list=ee.childNodes();
list.count()的返回值的個數只有2個
我的xml文件中明明有39個子項,爲什麼只取到前2個,其它的都沒有?
(1)我們可以用瀏覽器檢查一下XML的編碼格式及內容是否正確。正確的XML文件是可以被IE瀏覽器直接打開的。我們用IE瀏覽器檢查一下是否能正確地顯示。如果顯示不正確,我們就要從編碼,文件格式來檢查這個XML文件了;
(2)我們再檢查一下打開這個XML文件時是否正確,有時候我們並不能成功的打開一個XML,這個問題多數屬於上面的問題所導致的。打開文件後要設置一下XML解析的文檔內容。我們調用m_dom.setContent(file)這個函數來完成這一過程。有時這一函數調用失敗了,由於我們自身代碼的原因讓其繼續往下執行就會出現這一個問題。當設置解析內容失敗後要回到上一部檢查文件的正確性,文件是否被正確讀取等原因;
(3)然後,我們檢查一下我們所取的XML的元素對象是否與我們要判定的元素個數的名字相同,如果元素對象的名稱與我們要取的元素對象的名稱不一至,就要重新修改代碼。確保要操作的對象無誤;
一般情況下完成上面兩部檢查,都可以正確地解釋出XML的內容了。