XML文件解析
来源:互联网 发布:网络融资平台靠谱吗 编辑:程序博客网 时间:2024/06/05 08:03
void DomXml::parseXml()
{
//QDomDocument document; 声明QDomDocument
//(document.setContent(&xml)初始化QDomDocument 文档结构
//QDomElement root = document.documentElement(); 返回文档的根节点
//QDomElement element = root.firstChildElement(); 第二层节点
//while (!element.isNull()) 判断节点是否为空
//QString tag_name = element.attributeNode("name").value(); 获取节点值
//element = element.nextSiblingElement(); 遍历下一节点
QFile xml("D:\\city.xml");
if (xml.open(QFile::ReadOnly | QFile::Text))
{
QDomDocument document;
//bool QDomDocument::setContent(const QByteArray &data, bool namespaceProcessing, QString *errorMsg = Q_NULLPTR, int *errorLine = Q_NULLPTR, int *errorColumn = Q_NULLPTR)
if (document.setContent(&xml))
{
QDomElement root = document.documentElement();
QString root_tag_name = root.tagName();
if (root.hasAttribute("name"))
{
QString name = root.attributeNode("name").value();
mode->setHorizontalHeaderItem(0, new QStandardItem(name));
QDomElement element = root.firstChildElement();
while (!element.isNull())
{
QString tag_name = element.attributeNode("name").value();
QStandardItem * province_Item = new QStandardItem(tag_name);
mode->appendRow(province_Item); //省
QDomElement city = element.firstChildElement();
while (city.hasAttribute("name"))
{
QString tag_name = city.attributeNode("name").value();
QStandardItem * cityItem = new QStandardItem(tag_name);
province_Item->appendRow(cityItem); //市
QDomElement aera = city.firstChildElement();
while (aera.hasAttribute("name"))
{
QString tag_name = aera.attributeNode("name").value();
QStandardItem * aeraItem = new QStandardItem(tag_name);
cityItem->appendRow(aeraItem); //县区
aera = aera.nextSiblingElement();
}
city = city.nextSiblingElement();
}
element = element.nextSiblingElement();
}
}
}
}
}
阅读全文
0 0
- XML----SAX解析XML文件
- XML---DOM4J解析XML文件
- XML DOM解析XML文件
- XML SAX解析xml文件
- XML jDOM解析XML文件
- XML DOM4J解析XML文件
- 解析XML文件___SAX解析
- java 解析 xml文件
- XML文件解析
- XML文件解析
- JstL解析XML文件
- xml文件解析办法
- DOM解析XML文件
- XML文件解析心得
- xml文件解析-SAX
- xml文件解析-DOM
- xml文件解析-JDOM
- xml文件解析-DOM4J
- 三重循环寻找最长连续字符串相加和为K值倍数的长度
- Leetcode 289. Game of Life
- SpringMVC学习(六)-自定义类型转换器
- Netty学习-02
- Shader的纹理
- XML文件解析
- java创建线程的三种方式及其对比
- poj 4102:宠物小精灵之收服
- 使用SVN进行版本控制
- toString()模板语法研究
- 【学习笔记四】- 用js实现的一些数组操作和算法
- CSS选择器
- 计算机网络基础(一)之OSI模型
- 函数