Qt QtXml读取xml文件内容

xml文件内容

<?xml version="1.0" encoding="UTF-8"?>
<YG_RTLS>
<Anchor_list>
<Anchor z="0" id="1" MA_ID="" y="1789" x="50" ant_dly="" type="2"/>
<Anchor z="0" id="2" MA_ID="" y="1840" x="2970" ant_dly="" type="2"/>
<Anchor z="0" id="3" MA_ID="" y="70" x="2940" ant_dly="" type="2"/>
<Anchor z="0" id="4" MA_ID="" y="9" x="-19" ant_dly="" type="2"/>
</Anchor_list>
<Anchor_Group id="1" map_id="0" type="2">
<Member id="1"/>
<Member id="2"/>
<Member id="3"/>
<Member id="4"/>
</Anchor_Group>
<CONFIG version="1"/>
</YG_RTLS>
//读取基站配置文件数据
void readSysConfigFileData(QString sysConfigFileName)
{
//打开或创建文件
QFile xmlFile(sysConfigFileName);
if (!xmlFile.open(QFile::ReadOnly))
{
return;
} QDomDocument docXML;
if (!docXML.setContent(&xmlFile))
{
xmlFile.close();
return;
}
xmlFile.close(); QDomElement xmlRoot = docXML.documentElement(); //返回根节点
QDomNode domNode = xmlRoot.firstChild(); //获得第一个子节点
while (!domNode.isNull()) //如果节点不空
{
if (domNode.isElement()) //如果节点是元素
{
QDomElement domElement = domNode.toElement(); //转换为元素,注意元素和节点是两个数据结构,其实差不多
QDomNodeList list = domElementchildNodes();
for (int i = ; i<list.count(); i++) //遍历子元素,count和size都可以用,可用于标签数计数
{
QDomNode nodeIndex = list.at(i);
if (domNode.isElement())
{
QDomElement indexElement = nodeIndex.toElement();
if (indexElement.hasAttribute("x"))
{
qDebug() << nodeIndex.nodeName() << ":" << nodeIndex.toElement().attribute("id") << " " << nodeIndex.toElement().attribute("x") << " " << nodeIndex.toElement().attribute("y") << " " << nodeIndex.toElement().attribute("z"); } }
}
}
//下一个兄弟节点,nextSiblingElement()是下一个兄弟元素
domNode = domNode.nextSibling();
} }

输出

"Anchor" : "1" "50" "1789" "0"
"Anchor" : "2" "2970" "1840" "0"
"Anchor" : "3" "2940" "70" "0"
"Anchor" : "4" "-19" "9" "0"

-------------------------------------------------------------------------------------------------------------

Qt QtXml读取xml文件内容的更多相关文章

  1. 通过Java读取xml文件内容

    读取XML中的内容就需要对XML进行解析,目前对XML进行解析的方法分为四种: 下面解析的方法是DOM4J,需要下载jar包dom4j:https://dom4j.github.io/ package ...

  2. php读取xml文件内容,并循环写入mysql数据库

    <?php $dbconn = mysql_connect("localhost","root","root"); $db = mys ...

  3. JS通过ajax动态读取xml文件内容

    http://www.sharejs.com/codes/javascript/8178 HTML文件代码如下 <!DOCTYPE html> <html> <head& ...

  4. 读取XML文件内容

    myeclipse中类的格式 上面中的RunMain.java为程序执行的入口,JdbcUtil.java为实体类,XmlDocumentUtil.java执行解释xml文件与获取里面的属性,程序所需 ...

  5. dom4j读取XML文件内容

    <?xml version="1.0" encoding="UTF-8"?> <RESULT> <VALUE> <NO ...

  6. 读取xml文件内容到数据库

    前言 前言不搭后语·················· 内容 听某个大牛说他们的公司常常会涉及到从xml文件中读数据到写入到数据库,序列化的时候会遇到这这个问题,将要持久化的数据到xml文件存储起来, ...

  7. 用Java读取xml文件内容

     在AXP中,DOM解析器是1 Document Builder类的一个实例,该实例由 DocumenBailderfactorv类负责创,步如下  DocumentBuilderFactory fa ...

  8. java Domj4读取xml文件

    先概括,再以代码形式给出. 获取节点: Iterator  Element.nodeIterator();  //获取当前标签节点下的所有子节点 获取 标签: Element Document.get ...

  9. selenium-python读取XML文件

    首先这是我们要读取的XML文件 <?xml version="1.0" encoding="utf-8" ?><info> <ba ...

随机推荐

  1. linux系统信息获取和上报

    通过调用shell命令获取系统信息,如cpu个数,cpu/内存磁盘使用情况,网络信息等. #include <stdio.h> #include <stdlib.h> #inc ...

  2. sqliteman install parameter

    .安装前准备 系统要求:linux Qt库版本:一般都有 .安装文件 官网自行下载 .安装 )这里用的pscp pscp .\sqliteman-.tar.gz root@192.168.30.140 ...

  3. ARTS-week6

    Algorithm 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数.函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2 Tw ...

  4. vue响应式原理解析

    # Vue响应式原理解析 首先定义了四个核心的js文件 - 1. observer.js 观察者函数,用来设置data的get和set函数,并且把watcher存放在dep中 - 2. watcher ...

  5. K-means:如何选择K(cluster的数目)

    目前决定cluster数目的常用方法是手动地决定cluster的数目 哪个K是正确的? 上图中的数据集,我们可以说它有4个clusters,也可以说它有2个clusters,但哪个是正确答案呢?其实这 ...

  6. rs485一主多从的连接方式及通信注意事项

    rs485的通信方式看似比较简单,其实通信软件的处理还是有需要注意的. 下图是主机向从机发送信息的示意图,其中485的线都是手牵手相连的,因此主机向下发的时候,其实各个从机都有在接收数据的,只是,从机 ...

  7. CF622F——自然数幂和模板&&拉格朗日插值

    题意 求 $ \displaystyle \sum_{i=1}^n i^k \ mod (1e9+7), n \leq 10^9, k \leq 10^6$. CF622F 分析 易知答案是一个 $k ...

  8. The 10th Shandong Provincial Collegiate Programming Contest 2019山东省赛游记+解题报告

    比赛结束了几天...这篇博客其实比完就想写了...但是想等补完可做题顺便po上题解... 5.10晚的动车到了济南,没带外套有点凉.酒店还不错. 5.11早上去报道,济南大学好大啊...感觉走了一个世 ...

  9. Dump文件数据存储格式(一)

    我们已经了解了什么是Dump文件,它保存了什么数据,有什么作用,但它是如何存储的,数据格式是怎样的呢.下面简单说一下. 一.总体结构 二.文件头 首先文件的最开始的32个字节是Dump文件的文件头,这 ...

  10. centos gcc 新版本安装的一种方法

    最近出来一个v 语言,打算试用下,但是需要编译,centos 7 gcc 版本太低,一种可选的解决方法 使用Software Collections Software Collections 安装方法 ...