2013-11-26 145 views
2

我有一個名爲doc的QDomDocument,我需要爲每個頂級子級創建一個QStringList。到目前爲止,我有這個:有沒有辦法將QDomNode文本轉換爲QString?

QDomNodeList nodes = doc.childNodes(); 
for(int i = 0; i < nodes.size(); i++) 
{ 
    QDomText text = nodes.at(i).toText(); 
    //do something here... 
} 

但是,我找不到任何方式將其轉換爲QString。這是我第一次和QDom *類一起工作,所以我感到非常困惑,並且通過文檔去看,使用QDomText看起來好像不多。任何人都可以請提供一些建議?提前致謝!

回答

2

父QDomElement有一個方法QDomElement::text()返回文本節點的內容。在QDomElement級別上操作並使用text()應該是獲取元素文本的最簡單和最標準的方法。

或者,您可以在進入QDomText節點級別時調用QDomCharacterData::data()(QDomCharacterData是QDomText的基類)。

+0

編輯:你實際上可以不理會這個後續問題,如果其他人有類似的問題,我只是將它留在那裏。我發現我可以使用QString s = nodes.at(i).toElement()使它成爲該功能的正確類。再次感謝您的幫助! :) 原文評論:非常感謝,我不知道這些函數存在。我不太確定我會怎樣稱呼他們。我嘗試了一些像QString s = nodes.at(i).QDomElement::text(),但是拋出了一個錯誤。我只是得到它的錯誤? – thnkwthprtls

相關問題