XML中XDOMNODELIST個數讀取個數不正確

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的內容了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章