Qt中利用 QDomDocument 解析读取的XML格式

Qt中利用 QDomDocument 解析读取的XML格式

XML格式

 <Mode>
    <A>
    	<B param1="9.721e+7" param2="20000" param3= "XXX"/>
    	<B param1="9.721e+7" param2="20000" param3= "AAA"/>
    </A>
    <A>
    	<B param1="9.721e+7" param2="20000" param3= "XXX"/>
    	<B param1="9.721e+7" param2="20000" param3= "AAA"/>
    </A>
</Mode>

解析函数


void AA::setActiveParam(QString string)
{
    m_Parameters = string;
    QDomDocument xml;
    xml.setContent(m_Parameters);
    //读取根元素<Mode>
    QDomElement root = xml.documentElement(); 
    //找到节点<A>
    QDomElement data = root.firstChildElement("A");
    while (!data.isNull())
    {
        QDomNodeList secondItem = data.childNodes(); //将当前节点<A>的所有元素<B>放到QDomNodeList 中,以便遍历
        for (int i = 0; i < secondItem.count(); i++) 
        {
            QDomNode node = secondItem.at(i);//取一个<B>
            QString textname = node.toElement().attribute("param1");//查询属性值
            qDebug(qPrintable(textname));
        }
        data = data.nextSiblingElement();//查询下一个节点<A>
    }
}
    

猜你喜欢

转载自blog.csdn.net/u011370855/article/details/83415279