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

你可能感兴趣的:(Qt)