Синтаксический анализ XML в QT

Я новичок в QT

Я разрабатываю приложение для разбора файла 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.
Спасибо

-1

Решение

Вы можете использовать модуль QtXML 5.8, которая является частью Qt-framework. Там вы можете найти класс QDomDocument ( QDomDocument-doc) например.

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();
}
0
По вопросам рекламы [email protected]