用QTreeWidget显示XML结构

本文介绍如何在Qt环境中利用QTreeWidget显示XML文件的结构。虽然QTreeWidget和QDomDocument之间没有直接的转换方法,但通过自定义函数可以实现这一目标。主要涉及的关键函数包括:1) 从XML文件加载到QDomDocument;2) 递归解析QDomDocument到QTreeWidgetItem的函数;3) 创建QTreeWidgetItem的辅助函数。
摘要由CSDN通过智能技术生成

文章是我另一个账号xfdadada上的,但由于无法账号密码登录,因此重新转过来。

QTreeWidget和QDomDocument类里面似乎没有直接的转换方法。

也可以考虑继承QTreeWidget写一个新类,不过暂时没有那样做。

关键函数包含三个。

1. on_actionXML_triggered(), 将XML文件读取到QDomDocument对象。QDomDocument是Qt本身提供的类,用来以树结构保存XML文档。

2. parseDomToItem(const QDomElement &element, QTreeWidgetItem *parent), 递归解析QDomDocument对象

3. createItem(const QDomElement &element, QTreeWidgetItem *parent), 在解析过程中根据QDomElement类型创建QTreeWidgetItem
 

void XMLTREE_MainWindow::parseDomToItem(const QDomElement &element, QTreeWidgetItem *parent)
{
    if(element.isNull())
        return;
    QTreeWidgetItem *item = createItem(element, parent);
 
    QDomNodeList children = element.childNodes();
    for(int i=0;isetText(0, element.tagName());
    item->setText(1, element.text());
    return item;
}
 
void XMLTREE_MainWindow::on_actionXML_triggered()
{
  
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值