您当前的位置: 首页 >  qt

wendy_ya

暂无认证

  • 1浏览

    0关注

    342博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Qt实战案例(27)——利用DOM相关类读取xml文件

wendy_ya 发布时间:2022-01-21 16:14:35 ,浏览量:1

目录
    • 一、项目介绍
    • 二、项目基本配置
    • 三、UI界面设计
    • 四、主程序实现
      • 4.1 node.xml
      • 4.2 pro文件
      • 4.3 main.cpp
    • 五、效果演示

一、项目介绍

利用DOM相关类读取xml文件。

Dom(Document Object Model,即文档对象模型)把XML文档转换成应用程序可以遍历的树形结构,这样便可以随机访问其中的节点。它的缺点是需要将整个XML文档读入内存,消耗内存较多。

在Qt中使用QDomProcessingInstruction类来表示XML说明,元素对应QDomElement类,属性对应QDomAttr类,文本内容由QDomText类表示。所有的DOM节点,比如这里的说明、元素、属性和文本等,都使用QDomNode类来表示,然后使用对应的isProcessingInstruction()、isElement()、isAttr()和isText()等函数来判断是否是该类型的元素,如果是,那么就可以使用toProcessingInstruction()、toElement()、toAttr()和toText()等函数转换为具体的节点类型。

二、项目基本配置

新建一个Qt案例,项目名称为“DomTest”,基类选择“QWidget”,取消创建UI界面复选框的选中状态,完成项目创建。

三、UI界面设计

无UI界面

四、主程序实现 4.1 node.xml

新建一个xml文件,内容为:


	
		
			排量:2393ml
			价格:43.26万元
		
		
			排量:1600ml
			价格:8.98万元
		
		
			排量:1600ml
			价格:11.25万元
		
		
			排量:1997ml
			价格:15.38万元
		
	
4.2 pro文件

在DomTest.pro文件中添加如下代码:

QT+=xml
4.3 main.cpp

核心代码如下:

    //新建QDomDocument类对象,它代表一个XML文档
    QDomDocument doc;
    //建立指向“node.xml”文件的QFile对象
    QFile file("node.xml");
    //以只读方式打开
    if(!file.open(QIODevice::ReadOnly))
    {
        qDebug()            
关注
打赏
1659256378
查看更多评论
0.6792s