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>
<?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>
#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;
- }
//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;
}