2008-12-24 64 views
2

我正在使用qt 4.4.3和C++。我想實現一個QDomDocumentFragment對象,並將它作爲函數的返回值傳遞。我現在用同樣的方式爲QDomElement對象,與appendChild()我如何在qt中使用C++將孩子追加到QDomDocumentFragment對象中

QDomDocumentFragment rootnode; 

QDomNode initmodnode = doc.createElement("initmod"); 
QDomText initmodval = doc.createTextNode("4"); 
initmodnode.appendChild(initmodval); 
rootnode.appendChild(initmodnode); 

以這種方式將其他7個節點,並在函數返回後,我注意到,與返回QDomDocumentFragment一個QDomElement節點上調用insertAfter()是不插入任何新的孩子。與函數內將以下代碼調試之後,我意識到沒有節點實際上得到插入根節點:

QMessageBox::information(this->owner, QObject::tr("Debug"), QObject::tr("Node has children: ")+QString::number(rootnode.childNodes().size())); 

打印的信息是「節點具有子:0」。我在這裏錯過了什麼?

回答

3

浪費大家的時間好抱歉..貌似我需要創建的文檔片段使用:

QDomDocumentFragment rootnode = doc.createDocumentFragment(); 
相關問題