Qt解析XML及QTableWidget用法示例
#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用法示例相关推荐
- QT解析XML的三种方式
1-QT QXmlStreamReader用法小结 解析常用到的函数含义: 1--导入一个xml文件或字符串的方式 //方式一QXmlStreamReader reader(sXMLContent); ...
- Qt解析XML相关(QDom方式)
一.根据QDomNode::TypeName名字找到第一个符合的node : 以下两个函数可以直接查询XML节点(QDomNode)是否存在名字tagName的子节点,不需要遍历子节点.firstCh ...
- Java解析XML之SAXBuilder用法
SAXBuilder是什么? SAXBuilder是一个JDOM解析器,能够将路径中xml文件解析到Document对象 SAXBuilder是优缺点? 优点:对内存消耗小,适用于只处理xml文件 缺 ...
- Qt 读取XML文档的简单示例
目录名字 XML简介 Qt 操作XML文档一般方法 使用DOM读取XML文档 示例代码:读取XML文档 XML简介 XML(Extensible Markup Language,可扩展标记语言)是一种 ...
- 您能否提供一些示例,说明为什么用正则表达式很难解析XML和HTML? [关闭]
我看到人们一遍 又一遍地犯的一个错误是试图用正则表达式解析XML或HTML. 以下是难以解析XML和HTML的一些原因: 人们希望将文件视为一系列行,但这是有效的: <tag attr=&quo ...
- java解析xml实例_在java中使用dom解析xml的示例分析
本篇文章介绍了,在java中使用dom解析xml的示例分析.需要的朋友参考下 dom是个功能强大的解析工具,适用于小文档 为什么这么说呢?因为它会把整篇xml文档装载进内存中,形成一颗文档对象树 总之 ...
- python解析xml文件elementtree_Python中使用ElementTree解析XML示例
[XML基本概念介绍] XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据. 概念一: 复制代码 代码如下: # foo元素的起始标签 ...
- java解析xml工具类_通过dom4j解析XML字符串XMLDocUtil工具类转换为XML文档及获取指定根节点及指定节点路径内容代码示例...
一.前言 通过dom4j解析XML文档的XMLDocUtil工具类,进行解析xml字符串为Document文档对象.获取根节点元素路径内容getRootElement.获取唯一路径节点的值getSin ...
- jdom解析xml文件_JDOM编辑XML文件示例
jdom解析xml文件 JDOM provides very neat way to manipulate XML files, using JDOM is very easy and the cod ...
最新文章
- 马云牛啊 从骑自行车到坐迈巴赫只用20年
- Redis系列二、redis的五种数据结构和相关指令之String
- 数组的操作与方法的操作 0303 2101
- pytorch维度变换
- Ubuntu Emacs Fcitx 中文输入法设置
- Win软件 - Listary
- Ueditor基本用法-kityformula-上传图片-手写公式myscript
- Android 支付宝支付功能实现
- 小项目----音乐在线播放器
- Twitter CEO自曝成长经历:生活充满了偶然
- 分省直接融资、间接融资及金融倾斜度数据(2001-2018年)
- selenium爬虫浏览器驱动怎么安装,找不到urs/local/bin文件夹
- The NPF or NPCAP service is not installed, please install Winpcap or Npcap aand reboot的解决方法
- 光伏发电和光伏储能简单介绍
- zabbix分布式应用和微信报警
- IP属地的功能是如何实现的呢,简单实现获取ip地址和IP属地。
- 以下对于java标识符的说法正确的有_以下有关标识符的说法中,正确的是()。_学小易找答案...
- 主机与虚拟机不能ping通“VMware Network Adapter VMnet8”未启用 DHCP
- LeetCode 1155. 掷骰子的N种方法--动态规划
- 计算机一级考试表格操作2016版,2016年计算机一级考试题操作题