QT DOM方式读取xml文件(QDomElement)

xml文件格式:


<?xml version="1.0"?> <tree id="0"> <item id="1" open="1" text="一级" im0="leaf.gif" im1="folderOpen.gif" im2="folderClosed.gif" > <item id="5" select="1" text="二级" im0="leaf.gif" im1="folderOpen.gif" im2="folderClosed.gif" ></item> <item id="6" text="空泡" im0="leaf.gif" im1="folderOpen.gif" im2="folderClosed.gif" ></item> </item> </tree>

头文件:


#include <QFile> #include <QString> #include <QDomDocument> #include <QtXml> #include <QXmlStreamReader>

示例代码:

//DOM方式查找在XML文件二级目录中是否有sItemName节点,有返回1,无返回0,错误返回-1; //sXmlFilePath:xml完整路径打的文件名(c:\doc\ss.xml) int CAppletGenerator::searchTaskMenuTreeItem(QString sXmlFilePath,QString sItemName)) { QFile file(sXmlFilePath); if (!file.open(QFile::ReadOnly | QFile::Text)) { return -1; } QDomDocument domDocument; if (!domDocument.setContent(&file, true)) { file.close(); return -1; } QDomElement tree = domDocument.documentElement(); QDomElement firstItem = tree.firstChildElement(); //把全部二级item存放在list中 QDomNodeList secondItemlist = firstItem.childNodes(); for(int i = 0;i < secondItemlist.count();i++) { QDomNode node = secondItemlist.at(i); QString textname = node.toElement().attribute("text"); if (textname == sItemName) { return 1; } }//end for return 0; }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值