#include "widget.h"
#include "ui_widget.h"
#include <QFile>
#include <QDomDocument>
#include <QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);setWindowTitle("解析XML示例");setFixedSize(1360, 800);ui->tableWidget->setRowCount(0);ui->tableWidget->setColumnCount(6);ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);ui->tableWidget->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);ui->tableWidget->verticalHeader()->setHidden(true);ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);ui->tableWidget->setHorizontalHeaderItem(0, new QTableWidgetItem("TITLE"));ui->tableWidget->setHorizontalHeaderItem(1, new QTableWidgetItem("ARTIST"));ui->tableWidget->setHorizontalHeaderItem(2, new QTableWidgetItem("COUNTRY"));ui->tableWidget->setHorizontalHeaderItem(3, new QTableWidgetItem("COMPANY"));ui->tableWidget->setHorizontalHeaderItem(4, new QTableWidgetItem("PRICE"));ui->tableWidget->setHorizontalHeaderItem(5, new QTableWidgetItem("YEAR"));QFile file("C:\\Users\\xieyincai\\Desktop\\cd_catalog.xml");file.open(QIODevice::ReadOnly);QDomDocument doc;doc.setContent(&file);QDomElement root = doc.documentElement();if(root.hasChildNodes()){QDomNodeList catalogList = root.toElement().childNodes();for(int i=0; i<catalogList.count(); i++){QDomElement cd = catalogList.at(i).toElement();QDomNodeList cdList = cd.toElement().childNodes();int index = ui->tableWidget->rowCount();//ui->tableWidget->setRowCount(index + 1);ui->tableWidget->insertRow(index);for(int j=0; j<cdList.count(); j++){//qDebug() << cdList.at(j).toElement().text();ui->tableWidget->setItem(index, j, new QTableWidgetItem(cdList.at(j).toElement().text()));ui->tableWidget->item(index, j)->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter);}//qDebug() << "-------------------------";}}}Widget::~Widget()
{delete ui;
}
#include "widget.h"
#include <QStyleFactory>
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);QApplication::setStyle(QStyleFactory::create("Fusion"));Widget w;w.show();return a.exec();
}
<?xml version="1.0" encoding="UTF-8"?>
<!-- Edited with XML Spy v2007 (http://www.altova.com) -->
<CATALOG><CD><TITLE>Empire Burlesque</TITLE><ARTIST>Bob Dylan</ARTIST><COUNTRY>USA</COUNTRY><COMPANY>Columbia</COMPANY><PRICE>10.90</PRICE><YEAR>1985</YEAR></CD><CD><TITLE>Hide your heart</TITLE><ARTIST>Bonnie Tyler</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>CBS Records</COMPANY><PRICE>9.90</PRICE><YEAR>1988</YEAR></CD><CD><TITLE>Greatest Hits</TITLE><ARTIST>Dolly Parton</ARTIST><COUNTRY>USA</COUNTRY><COMPANY>RCA</COMPANY><PRICE>9.90</PRICE><YEAR>1982</YEAR></CD><CD><TITLE>Still got the blues</TITLE><ARTIST>Gary Moore</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>Virgin records</COMPANY><PRICE>10.20</PRICE><YEAR>1990</YEAR></CD><CD><TITLE>Eros</TITLE><ARTIST>Eros Ramazzotti</ARTIST><COUNTRY>EU</COUNTRY><COMPANY>BMG</COMPANY><PRICE>9.90</PRICE><YEAR>1997</YEAR></CD><CD><TITLE>One night only</TITLE><ARTIST>Bee Gees</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>Polydor</COMPANY><PRICE>10.90</PRICE><YEAR>1998</YEAR></CD><CD><TITLE>Sylvias Mother</TITLE><ARTIST>Dr.Hook</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>CBS</COMPANY><PRICE>8.10</PRICE><YEAR>1973</YEAR></CD><CD><TITLE>Maggie May</TITLE><ARTIST>Rod Stewart</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>Pickwick</COMPANY><PRICE>8.50</PRICE><YEAR>1990</YEAR></CD><CD><TITLE>Romanza</TITLE><ARTIST>Andrea Bocelli</ARTIST><COUNTRY>EU</COUNTRY><COMPANY>Polydor</COMPANY><PRICE>10.80</PRICE><YEAR>1996</YEAR></CD><CD><TITLE>When a man loves a woman</TITLE><ARTIST>Percy Sledge</ARTIST><COUNTRY>USA</COUNTRY><COMPANY>Atlantic</COMPANY><PRICE>8.70</PRICE><YEAR>1987</YEAR></CD><CD><TITLE>Black angel</TITLE><ARTIST>Savage Rose</ARTIST><COUNTRY>EU</COUNTRY><COMPANY>Mega</COMPANY><PRICE>10.90</PRICE><YEAR>1995</YEAR></CD><CD><TITLE>1999 Grammy Nominees</TITLE><ARTIST>Many</ARTIST><COUNTRY>USA</COUNTRY><COMPANY>Grammy</COMPANY><PRICE>10.20</PRICE><YEAR>1999</YEAR></CD><CD><TITLE>For the good times</TITLE><ARTIST>Kenny Rogers</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>Mucik Master</COMPANY><PRICE>8.70</PRICE><YEAR>1995</YEAR></CD><CD><TITLE>Big Willie style</TITLE><ARTIST>Will Smith</ARTIST><COUNTRY>USA</COUNTRY><COMPANY>Columbia</COMPANY><PRICE>9.90</PRICE><YEAR>1997</YEAR></CD><CD><TITLE>Tupelo Honey</TITLE><ARTIST>Van Morrison</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>Polydor</COMPANY><PRICE>8.20</PRICE><YEAR>1971</YEAR></CD><CD><TITLE>The very best of</TITLE><ARTIST>Cat Stevens</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>Island</COMPANY><PRICE>8.90</PRICE><YEAR>1990</YEAR></CD><CD><TITLE>Stop</TITLE><ARTIST>Sam Brown</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>A and M</COMPANY><PRICE>8.90</PRICE><YEAR>1988</YEAR></CD><CD><TITLE>Bridge of Spies</TITLE><ARTIST>T'Pau</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>Siren</COMPANY><PRICE>7.90</PRICE><YEAR>1987</YEAR></CD><CD><TITLE>Private Dancer</TITLE><ARTIST>Tina Turner</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>Capitol</COMPANY><PRICE>8.90</PRICE><YEAR>1983</YEAR></CD><CD><TITLE>Midt om natten</TITLE><ARTIST>Kim Larsen</ARTIST><COUNTRY>EU</COUNTRY><COMPANY>Medley</COMPANY><PRICE>7.80</PRICE><YEAR>1983</YEAR></CD><CD><TITLE>Pavarotti Gala Concert</TITLE><ARTIST>Luciano Pavarotti</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>DECCA</COMPANY><PRICE>9.90</PRICE><YEAR>1991</YEAR></CD><CD><TITLE>The dock of the bay</TITLE><ARTIST>Otis Redding</ARTIST><COUNTRY>USA</COUNTRY><COMPANY>Atlantic</COMPANY><PRICE>7.90</PRICE><YEAR>1987</YEAR></CD><CD><TITLE>Picture book</TITLE><ARTIST>Simply Red</ARTIST><COUNTRY>EU</COUNTRY><COMPANY>Elektra</COMPANY><PRICE>7.20</PRICE><YEAR>1985</YEAR></CD><CD><TITLE>Red</TITLE><ARTIST>The Communards</ARTIST><COUNTRY>UK</COUNTRY><COMPANY>London</COMPANY><PRICE>7.80</PRICE><YEAR>1987</YEAR></CD><CD><TITLE>Unchain my heart</TITLE><ARTIST>Joe Cocker</ARTIST><COUNTRY>USA</COUNTRY><COMPANY>EMI</COMPANY><PRICE>8.20</PRICE><YEAR>1987</YEAR></CD>
</CATALOG>

Qt解析XML及QTableWidget用法示例相关推荐

  1. QT解析XML的三种方式

    1-QT QXmlStreamReader用法小结 解析常用到的函数含义: 1--导入一个xml文件或字符串的方式 //方式一QXmlStreamReader reader(sXMLContent); ...

  2. Qt解析XML相关(QDom方式)

    一.根据QDomNode::TypeName名字找到第一个符合的node : 以下两个函数可以直接查询XML节点(QDomNode)是否存在名字tagName的子节点,不需要遍历子节点.firstCh ...

  3. Java解析XML之SAXBuilder用法

    SAXBuilder是什么? SAXBuilder是一个JDOM解析器,能够将路径中xml文件解析到Document对象 SAXBuilder是优缺点? 优点:对内存消耗小,适用于只处理xml文件 缺 ...

  4. Qt 读取XML文档的简单示例

    目录名字 XML简介 Qt 操作XML文档一般方法 使用DOM读取XML文档 示例代码:读取XML文档 XML简介 XML(Extensible Markup Language,可扩展标记语言)是一种 ...

  5. 您能否提供一些示例,说明为什么用正则表达式很难解析XML和HTML? [关闭]

    我看到人们一遍 又一遍地犯的一个错误是试图用正则表达式解析XML或HTML. 以下是难以解析XML和HTML的一些原因: 人们希望将文件视为一系列行,但这是有效的: <tag attr=&quo ...

  6. java解析xml实例_在java中使用dom解析xml的示例分析

    本篇文章介绍了,在java中使用dom解析xml的示例分析.需要的朋友参考下 dom是个功能强大的解析工具,适用于小文档 为什么这么说呢?因为它会把整篇xml文档装载进内存中,形成一颗文档对象树 总之 ...

  7. python解析xml文件elementtree_Python中使用ElementTree解析XML示例

    [XML基本概念介绍] XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据. 概念一: 复制代码 代码如下: # foo元素的起始标签 ...

  8. java解析xml工具类_通过dom4j解析XML字符串XMLDocUtil工具类转换为XML文档及获取指定根节点及指定节点路径内容代码示例...

    一.前言 通过dom4j解析XML文档的XMLDocUtil工具类,进行解析xml字符串为Document文档对象.获取根节点元素路径内容getRootElement.获取唯一路径节点的值getSin ...

  9. jdom解析xml文件_JDOM编辑XML文件示例

    jdom解析xml文件 JDOM provides very neat way to manipulate XML files, using JDOM is very easy and the cod ...

最新文章

  1. 马云牛啊 从骑自行车到坐迈巴赫只用20年
  2. Redis系列二、redis的五种数据结构和相关指令之String
  3. 数组的操作与方法的操作 0303 2101
  4. pytorch维度变换
  5. Ubuntu Emacs Fcitx 中文输入法设置
  6. Win软件 - Listary
  7. Ueditor基本用法-kityformula-上传图片-手写公式myscript
  8. Android 支付宝支付功能实现
  9. 小项目----音乐在线播放器
  10. Twitter CEO自曝成长经历:生活充满了偶然
  11. 分省直接融资、间接融资及金融倾斜度数据(2001-2018年)
  12. selenium爬虫浏览器驱动怎么安装,找不到urs/local/bin文件夹
  13. The NPF or NPCAP service is not installed, please install Winpcap or Npcap aand reboot的解决方法
  14. 光伏发电和光伏储能简单介绍
  15. zabbix分布式应用和微信报警
  16. IP属地的功能是如何实现的呢,简单实现获取ip地址和IP属地。
  17. 以下对于java标识符的说法正确的有_以下有关标识符的说法中,正确的是()。_学小易找答案...
  18. 主机与虚拟机不能ping通“VMware Network Adapter VMnet8”未启用 DHCP
  19. LeetCode 1155. 掷骰子的N种方法--动态规划
  20. 计算机一级考试表格操作2016版,2016年计算机一级考试题操作题

热门文章

  1. 转: Linux下使用java -jar运行可执行jar包的正确方式
  2. ASP.NET内部原理(HttpHandler和HttpModule)
  3. 用vs2005 开发arcims htmlViewer
  4. 每天三分钟玩转Git(已完结)
  5. POSTMAN 数据关联
  6. 小程序存emoji表情 不改变数据库
  7. 使用git修复线上指定版本的问题
  8. JAVA并发编程实战---第三章:对象的共享
  9. ubuntu 安装 Sublime Text 2
  10. 高性能WEB开发(6) - web性能测试工具推荐