Qt QtXml读取xml文件内容
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文件内容的更多相关文章
- 通过Java读取xml文件内容
读取XML中的内容就需要对XML进行解析,目前对XML进行解析的方法分为四种: 下面解析的方法是DOM4J,需要下载jar包dom4j:https://dom4j.github.io/ package ...
- php读取xml文件内容,并循环写入mysql数据库
<?php $dbconn = mysql_connect("localhost","root","root"); $db = mys ...
- JS通过ajax动态读取xml文件内容
http://www.sharejs.com/codes/javascript/8178 HTML文件代码如下 <!DOCTYPE html> <html> <head& ...
- 读取XML文件内容
myeclipse中类的格式 上面中的RunMain.java为程序执行的入口,JdbcUtil.java为实体类,XmlDocumentUtil.java执行解释xml文件与获取里面的属性,程序所需 ...
- dom4j读取XML文件内容
<?xml version="1.0" encoding="UTF-8"?> <RESULT> <VALUE> <NO ...
- 读取xml文件内容到数据库
前言 前言不搭后语·················· 内容 听某个大牛说他们的公司常常会涉及到从xml文件中读数据到写入到数据库,序列化的时候会遇到这这个问题,将要持久化的数据到xml文件存储起来, ...
- 用Java读取xml文件内容
在AXP中,DOM解析器是1 Document Builder类的一个实例,该实例由 DocumenBailderfactorv类负责创,步如下 DocumentBuilderFactory fa ...
- java Domj4读取xml文件
先概括,再以代码形式给出. 获取节点: Iterator Element.nodeIterator(); //获取当前标签节点下的所有子节点 获取 标签: Element Document.get ...
- selenium-python读取XML文件
首先这是我们要读取的XML文件 <?xml version="1.0" encoding="utf-8" ?><info> <ba ...
随机推荐
- Yii2安装任务调度扩展
一.安装扩展 在安装之前添加仓库到composer.json文件中 "repositories": [{"type": "vcs", &qu ...
- ubuntu18上解决Qt无法输入中文
系统:Ubuntu 18.04.3 64bit 软件: QtCreator 4.8 安装Ubuntu18.04 时已经安装fcitx框架的搜狗输入法,在此不再安装fcitx及搜狗输入法 只需要安装fc ...
- xshell连接linux使用vim无法正常使用小键盘
解决方法 文件-->属性-->终端-->终端类型-->linux 之后重新连接即可
- CSS选择器知识梳理
<一>CSS选择器结构逻辑图 温馨提示:各位小伙伴,可以把逻辑图下载下来放大,看的比较清除,也可以给我留言,我分享原百度脑图给各位小伙伴. <二>接下来按照结构逻辑图具体讲解各 ...
- 如何更改Scratch3.0的LOGO
1.用visual studio code打开文件夹scratch-gui-develop 找到SRC\components\menu-bar 方法1:制作图片更换掉图片scratch-logo.sv ...
- python学习之多窗口切换
多窗口切换: from selenium import webdriver d = webdriver.Firefox() d.window_handles #显示所有的窗口 d.current_wi ...
- python内置模块笔记(持续更新)
常用函数name = '{wh}my \t name is {name},age is {age}.' print(name.capitalize()) # 字符串的开头字母大写 print(name ...
- postgres主从基于流复制
环境: CentOS Linux release 7.6.1810 (Core) 内核版本:3.10.0-957.10.1.el7.x86_64 node1:192.168.216.130 node2 ...
- Linux Shell 常用命令与目录分区的学习总结
很早就想根据自己的学习规律和遗忘规律,自己总结一下Linux/Unix系统的Shell命令,一来便于自己时常查询之用,二来也分享于各位博友 Linux shell是系统的用户界面,即命令行.它提供了用 ...
- 斜率优化板题 HDU2829 Lawrence
题目大意:给定一个长度为nnn的序列,至多将序列分成m+1m+1m+1段,每段序列都有权值,权值为序列内两个数两两相乘之和.求序列权值和最小为多少? 数据规模:m<=n<=1000.m&l ...