QTXML节点创建添加删除简介.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?  HYPERLINK /sbisyju/article/details/8701561 QT中如何实现XML文件的创建、增加、修改、删除功能。 分类:?QT学习2013-03-21 16:01?6285人阅读?评论(0)?收藏?举报 一、首先咱们得认识处理XML的方法有那些,QT提供了那些函数用于处理。 ? ?????????????????????我们知道对XML的操作有两种方法,即DOM方式和SAX方式。二者主要区别是:DOM实现方式操作非常简单,但不适合处理过大文件;而SAX实现方式是能处理很大的XML文件,但是需要开发者写一些复杂的代码。Qt提供了对应于这两种用于读取、操作和编写XML的实现类,分别是QDomDocument类和QXmlStreamReader类,由于在项目中涉及的文件不大,因此我们选用QDomDocument类来 处理。 ? 二、咱们需要了解XML文件的最常见格式: ? ?????????1、需要知道一个XML文件有且只有一个根节点; ???????? 2、子节点与元素的概念,以及它们之间的联系(如何包含); ? ? 三、对XML文件创建,读取、修改: ? ? 1. 创建节点,将其写入XML文件,主要操作包括: ? ? QDomDocument doc; 1).创建根节点:QDomElement root = doc.createElement(root) 2).创建元素节点:QDomElement element = doc.createElement(nodeName); 3).添加元素节点到根节点:root. appendChild(element); 4).创建元素文本:QDomText nodeText=doc.createTextNode(text); 5).添加元素文本到元素节点:element. appendChild(nodeText); ? 在本项目中,假设便签的属性有序号、名字、内容、字体、字号、颜色、粗细、斜体、下划线这几项,则在文件中添加一个便签节点的操作如下: QDomDocument doc; instruction = doc.createProcessingInstruction(xml,version=1.0 encoding=UTF-8); doc.appendChild(instruction); QDomElement root = doc.createElement_x_x(Notes); doc.appendChild(root); QDomElement note = doc.createElement_x_x(note); root.appendChild(note); QDomElement no = doc.createElement_x_x(no); note.appendChild(no); ... ... QDomText no_text = doc.createTextNode(001); ... ... 则得到一个便签节点,将其保存到test.xml文件中,代码如下: QFile file(test.xml); if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate |QIODevice::Text)) return ; QTextStream out(file); out.setCodec(UTF-8); doc.save(out,4,QDomNode::EncodingFromTextStream); file.close(); 则test.xml文件: ?xml version=1.0 encoding=UTF-8? Notes note no001/no name2010-05-10(13:53:24)/name contentA meeting!/content fontScript MT Bold/font fontSize16/fontSize color #00ffff/color weight0/weight fontItalictrue/fontItalic fontUnderlinetrue/fontUnderline /note /Notes 上面是创建一个便签节点,若要继续添加便签节点,则需要在已有节点后增加一个新节点,并重写入XML文件。 ? 2. 加载、查找便签时要读取XML文档中的节点信息,DOM实现方式是将整个文档当作一个对象来装入内存进行处理,然后开发者可以访问这个对象中的每一个节点,每一个节点对应XML文件里的一个标记。 ? 主要操作包括: 1).读取根节点:QDomElement root = doc.documentElemen

文档评论(0)

1192212 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档