1、读操作:

QDomDocument doc( “mydocument " );

QFile file( "ccc.xml" );

if ( !file.open( IO_ReadOnly ) )

{

return;

}

if ( !doc.setContent( &file ) )

{

file.close();

return;

}

file.close();

2、写操作

原理很简单,由于XML是分级结构,因此只要找到需要写的Node的所在的级别,然后调用setNodeValue("value")就写好了。

<?xml version="1.0" encoding="unicode" ?>

<XML>

第一级:<MAINT TableName="RSBT_STATION" OtherInfo="" opttype="1" version="1.0.0"FormTableName="TABLE11">

第二级:<FORM opttype="1">

第三级:<STDI>0001(第四级)</STDI>

<GUID/> (第四级)

<TAPPCODE>111111111111(第四级)</TAPPCODE>

在上边的代码中,如果是想改变111111111111的值,由于它处在第四级,因此只要

QDomElement docElem = doc.documentElement();

QDomNode node = docElem.childNodes().item(0).childNodes().item(0).childNodes().item(0);

那么node对象就是指的111111111111了。

3、保存

方法就更简单了,如果是调用save函数,可能会报错,至少我用save函数就没能实现保存;这里有一个非常简单的法:就是

QString xml = doc.toString();

也就是说将QDomDocument对象变成字符串,已经成字符串了,应该知道怎么保存了吧。

Qt 读写XML文件的更多相关文章

  1. Qt读写xml文件

    写xml <root> <element> <sub id=-1></sub> </element> </root> //添加x ...

  2. QXmlStreamReader/QXmlStreamWriter实现Qt下xml文件读写

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QXmlStreamReader/QXmlStreamWriter实现Qt下xml文件读写   ...

  3. 初识---Qt解析XML文件(QDomDocument)

    关于XML及其使用场景不在此多做介绍,今天主要介绍Qt中对于XML的解析.QtXml模块提供了一个读写XML文件的流,解析方法包含DOM和SAX,两者的区别是什么呢?  DOM(Document Ob ...

  4. C#读写xml文件的常用方法

    已知有一个XML文件(bookshop.xml)如下: <?xml version="1.0" encoding="gb2312" ?> <b ...

  5. PHP读写XML文件的四种方法

    PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介 ...

  6. Java 读写XML文件 API--org.dom4j

    om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...

  7. Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  8. cocos2d-x 读写 xml 文件

    cocos2d-x 读写 xml 文件 A product of cheungmine使用cocos2d-x开发2d游戏确实方便,但是对于一般的小游戏,经常需要的工作是UI布局设计和调整,代码改来改去 ...

  9. java通过dom读写xml文件

    java通过dom读写xml文件 要读的xml文件 <?xml version="1.0" encoding="GB2312"?><学生花名册 ...

随机推荐

  1. 几个模式识别和计算机视觉相关的Matlab工具箱

    模式识别.计算机视觉.图像处理等领域大部分是对一些图像等数据的处理,比较常用的语言是C++和Matlab,相应也对应很多库,象opencv等,都是很好用功能也很强大,但是对于数据处理更方便的应该还是M ...

  2. 手写js面向对象选项卡插件

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  3. java答疑

    问 什么是 Java 的字节码? 答 它是程序的一种低级表示,可以运行于 Java 的虚拟机.将程序抽象为字节码可以保证 Java 程序员的 代码能够运行在各种设备之上. 问 Java 允许整型溢出并 ...

  4. MacOS快捷键

  5. LINUX TOP,不是这样玩地!!!

    老同志遇到新问题了. TOP显示完全不是我要的,CPU,内存都是0.每个CPU还分别显示. 网上搜下,原来是A(显示风格)R(反向排序)P,M(CPU,内存排序)之类引起的. 记下了.

  6. 编译direct show 的filter项目

    最近搞windows编程,想学习一下direct show.编译了一下sdk里面的一个sample filter,做个笔记,记录一下. 说来渐愧,vc也用了n久了,还没有自己动手建立一个正式的项目,都 ...

  7. activiti入门2流程引擎的API和服务基础

      RepositoryService : 管理和控制发布包和流程定义(包含了一个流程每个环节的结构和行为)的操作 除此之外,服务可以 查询引擎中的发布包和流程定义. 暂停或激活发布包,对应全部和特定 ...

  8. Android网络框架Volley(实战篇)

      之前讲了ym—— Android网络框架Volley(体验篇),大家应该了解了volley的使用,接下来我们要看看如何把volley使用到实战项目里面,我们先考虑下一些问题: 从上一篇来看 mQu ...

  9. Resharper中注释代码的快捷键

    Resharper中     Visual Studio中 注释代码        Ctrl+Alt+/             Ctrl+E+C 取消注释        Ctrl+Alt+/     ...

  10. ubuntu安装jdk1.8

    sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-i ...