二十九Qt数据库(九)XML(二).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二十九Qt数据库(九)XML(二)

在上一节中我们用手写的方法建立了一个XML文档,并且用DOM的方法对其进行了读取。现在我们使用代码来创建那个XML文档,并且对它实现查找,更新,插入等操作。 首先,我们新建Qt4 Gui Application工程,工程名为xml02,然后添加QtXml模块,我们选择QWidget为Base class 。 1.为了在程序中可以使用中文,我们先在main.cpp文件中添加头文件: #include QTextCodec 然后在main()函数中添加一行代码: QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); 2.然后到widget.ui文件中,将界面设计如下: 其中用到的部件有Push Button,ListWidget,Label和Line Edit 。 3.我们再到widget.cpp文件中,添加头文件:#include QtXml 然后在构造函数中添加代码如下: QFile file(“my.xml”); if(!file.open(QIODevice::WriteOnly | QIODevice::Truncate)) return ; //只写方式打开,并清空以前的信息 QDomDocument doc; QDomProcessingInstruction instruction;??//添加处理指令 instruction = doc.createProcessingInstruction(“xml”, “version=\”1.0\” encoding=\”UTF-8\”); doc.appendChild(instruction); QDomElement root = doc.createElement(tr(“书库”)); doc.appendChild(root); //添加根元素 //添加第一个book元素及其子元素 QDomElement book = doc.createElement(tr(“图书”)); QDomAttr id = doc.createAttribute(tr(“编号”)); QDomElement title = doc.createElement(tr(“书名”)); QDomElement author = doc.createElement(tr(“作者”)); QDomText text; id.setValue(tr(“1″)); book.setAttributeNode(id); text = doc.createTextNode(tr(“Qt”)); title.appendChild(text); text = doc.createTextNode(tr(“shiming”)); author.appendChild(text); book.appendChild(title); book.appendChild(author); root.appendChild(book); //添加第二个book元素及其子元素 book = doc.createElement(tr(“图书”)); id = doc.createAttribute(tr(“编号”)); title = doc.createElement(tr(“书名”)); author = doc.createElement(tr(“作者”)); id.setValue(tr(“2″)); book.setAttributeNode(id); text = doc.createTextNode(tr(“Linux”)); title.appendChild(text); text = doc.createTextNode(tr(“yafei”)); author.appendChild(text); book.appendChild(title); book.appendChild(author); root.appendChild(book); QTextStream out(file); doc.save(out,4);? ?//将文档保存到文件,4为子元素缩进字符数 file.close(); 这样我们就建立起了一个XML文档,过程并不复杂,只要注意一下元素的父子关系就可以了。最后我们用save()函数将数据从doc中保存到文件中。 4.下面我们读取整个XML文档,我们从widget.ui中单击“查看全部信息”按钮,进入它的单击事件槽函数,并更改如下: void Widget::on_pushButton_clicked()??//显示全部 { ui-listWidget-clear(); //先清空显示 QFile file(

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档