在QT中的XML解析
问题描述:
我是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。 谢谢
答
您可以使用QDomDocument
和所有以qDom开头的课程。 这样你可以得到一个对应于你的文档的对象。 每个标记都将是QDomNode
,您可以调用方法,如getParam,getChild或getParent。
答
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();
}
但是我使用QT 3 –
的LIB是QT3的一部分。 – KimKulling