2017-01-30 41 views
-1

我是QT的新手在QT中的XML解析

我正在開發應用程序來解析XML文件。但文件格式看起來像這樣

<Class name="ABC"> 
    <LayoutEntry name="ABB"   type="class:ABB"/> 
    <LayoutEntry name="ACC"   type="class:ACC"/> 
    <LayoutEntry name="ADD"   type="class:ADD"/> 
</Class> 

<Class name="ABB"> //Declared in class ABC 
    <LayoutEntry name="ABB1"   type="class:ABB1"/> 
    <LayoutEntry name="ABB2"   type="class:ABB2"/> 
    </Class> 

    <Class name="ABB1"> //Declared in class ABB 
    <LayoutEntry name="ABB1"   value=ABB1"/> 
    </Class> 

    <Class name="ABB2"> 
    <LayoutEntry name="ABB2"   value=ABB2"/> 
    </Class> 

請有人建議我爲QT中的任何庫或方法來解析這種類型的XML。 謝謝

回答

0

您可以使用QDomDocument和所有以qDom開頭的課程。 這樣你可以得到一個對應於你的文檔的對象。 每個標記都將是QDomNode,您可以調用方法,如getParam,getChild或getParent。

0
  QDomNodeList list; 
      list = document.elementsByTagName("Parent"); 
      int ChildCount = list.at(0).childNodes().count(); 
      qDebug() << "ChildCount = " << ChildCount; 
      QString child1,child2,child3; 
      for(int i=0; i < ChildCount; i++) 
      { 
      child1 = list.at(0).childNodes().at(0).toElement().text(); 
      child2 = list.at(0).childNodes().at(1).toElement().text(); 
      child3 = list.at(0).childNodes().at(2).toElement().text(); 
      }