大三软件工程小项目-小技术集合-读取XML文件及运行外部程序
服务端源码下载地址为:
http://download.csdn.net/detail/qq78442761/9768662
关于什么是XML文件,在此不在啰嗦。
不知道的博友请百度补脑。
本程序的xml在如下地方:
xml内容如下:
在本程序中,此xml存储了外部程序路径,用于打开外部程序的。如下图所示:
单击了运行MYSQL后就会运行外部程序如下图所示:
另外一个外部程序不做演示。
我们现在来讲解一个简单的,如何进行外部程序。
我们在MainWindow.里面看到关于这个按钮的函数,如下
//运行外部MYSQL程序
void MainWindow::RunMYSQLProcess()
{QString cmd=QString(qPrintable(ProXML->GetProcessDir("MYSQL")));m_Process.start(cmd,QStringList()<<"");ui->CMDplainTextEdit->appendPlainText(CurrTime::currentDateTime()+"打开外部MYSQL程序");
}
我们现在来定位m_Process。
我们这mainwindow.h里面可以看见一个私有的成员变量。
QProcess m_Process; //打开外部程序
这个QProcess是在头文件
#include <QProcess>
有这个start函数,就可以对外部程序进行激活。
下面是读取xml。
在这个项目里面,有一个
docxml.h和docxml.cpp用于读取xml
最上面的那个链接可以下载全套源码,IDE为 Qt Creator 5.7
docxml.h
#ifndef DOCXML_H
#define DOCXML_H#include <QtXml>
#include <QDomDocument>
#include <QFile>
#include <QIODevice>
#include <QDomNode>
#include <QDebug>
#include <QMessageBox>
#include <QString>class DOCXML
{
public:DOCXML();QString GetProcessDir(QString ProName); //获取程序路径
private:QDomDocument *doc; //QDomDocument类对象,代表一个XML文档QFile *file; //建立指向in.xml文件的QFile对象QDomNode *Node; //XML结点
};#endif // DOCXML_H
docxml.cpp
#include "docxml.h"DOCXML::DOCXML()
{file=new QFile("in.xml");if(!file->open(QIODevice::ReadOnly)){QMessageBox::critical(NULL,"错误","in.xml打开失败",QMessageBox::Cancel);}else{//将文件读入doc中doc=new QDomDocument();if(!doc->setContent(file)){QMessageBox::critical(NULL,"错误","in.xml读取",QMessageBox::Cancel);}elsefile->close();}
}QString DOCXML::GetProcessDir(QString ProName)
{QDomElement docElem = doc->documentElement(); //返回根元素QDomNode n = docElem.firstChild(); //返回根节点的第一个子节点//如果节点不为空while(!n.isNull()){if (n.isElement()) //如果节点是元素{QDomElement e = n.toElement();// 获得元素e的子节点的列表QDomNodeList list = e.childNodes();//获取程序名QDomNode node = list.at(0);if(ProName==qPrintable(node.toElement().text())){node = list.at(1);//qDebug() << qPrintable(node.toElement().text());;return qPrintable(node.toElement().text());}}n = n.nextSibling(); //下一个兄弟节点}return "fail";
}
这就是读取XML文件及运行外部程序
大三软件工程小项目-小技术集合-读取XML文件及运行外部程序相关推荐
- 大三软件工程小项目-小技术集合总结
大三软件工程小项目-小技术集 此篇文章是给出了此小项目用到的技术的总结: 方便自己有忘记的知识点后方便查阅. 也方便有需要的博友看. 下面是各个计算的链接 大家点击了进能进去 大三软件工程小项目-小技 ...
- java项目——Dom4j读取XML文件连接orecal数据库
Dom4j介绍: dom4j是一个简单的开源库,用于处理XML. XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集 成了DOM,SAX和JAXP.在国内比较 ...
- java项目——Dom4j读取XML文件保存orecal数据库
上一篇介绍了如何利用dom4j读取xml文件,连接数据库,换数据库的话直接修改XML文件,使配置更加灵 活,本篇博客主要介绍一下如何将XML文件导入到orecal数据库中. XML在现在的项目中的应用 ...
- HTML读取xml文件的三种办法
刚开始学这里的时候有点懵,以前没学过.但是学安卓动画(Animation)的时候接触过xml文件,总体来说不难. 一般来说xml文件用来储存数据,然后html读取它,主要介绍三种读取方式 利用CSS读 ...
- 大三软件工程小项目-小技术集合-大纲
回忆2016年下半年,我上了软件工程这个课. 也就是因为这个课,做了一个小程序,这个程序不难,全是基础 程序的截图如下: 服务端截图: 客户端截图: 就是这两个程序. 看起来是很高大上,其实是阉割的. ...
- 自我评估,职业规划及对计算机专业的理解(大三软件工程学生的第一篇博客)
自我定位职业规划及对计算机邻域的理解 2020-01-09 自我定位: 本人就读于浙工大(仅次于985,211大学)软件工程专业,大三在读,对于学校教学计划掌握程度在80%,能够利用库或API独立完成 ...
- 实验三 软件工程结对项目
Deadline:2018-4-4 10:00,以博客发表日期为准 评分标准: 按时交 - 有分(满分30分,代码和博客各15分),检查项目包括: - 未提交项目源码到Github上,代码部分不得分 ...
- 小项目/小游戏Demo合集
几个以前写过的小项目,比较low,拿出来献献丑. 项目我都已经上传在我的博客上,可以免费下载到. PC端2048小游戏 用C#写的,界面大概是这样 基本逻辑如下: 用picturebox构建一个4*4 ...
- 【小项目】用Huffman树实现文件压缩并解压
一.前言 如果你学习数据结构,就一定会学到Huffman树,而Huffman编码实际上上就是zip压缩的核心部分,所以,如果已经学习了Huffman树,为何不尝试写一个压缩程序出来呢? 如果你没有学习 ...
最新文章
- 二十七、二叉树--删除结点
- 使用VS插件在VS2012/2013上编辑和调试Quick-Cocos2d-x的Lua代码
- php xingnengfenxi_PHP 性能分析与实验:性能的微观分析
- Hyper-V 的导入和导出
- 进程池、线程池、回调函数、协程
- appium python unittest_appium+python+unittest自动化测试
- mysql pconnect_mysql_pconnect()
- linux 下的emoji在MariaDB中的字符集修改
- Windows 环境下分布式跨域Session共享(转)
- go var 一个整数_Go语言基础之基本数据类型
- python基础之函数式编程
- CentOS7下Maven安装脚本
- 奎享添加自己字体_文泰刻绘怎么添加字体 新字体导入与添加步骤教程
- Dubbo视频教程--基础篇--第03节--ZooKeeper注册中心安装详细步骤(单节点)
- 为什么边缘概率密度是联合概率密度的积分_看懂蒙特卡洛积分(一) 概率分布变换与随机采样...
- MySQL Enterprise Backup使用简介
- Xilinx FPGA全局时钟和局部时钟
- Emacs-057-hippie-expand使用
- 用网络命令关闭计算机,如何在win7用cmd命令关闭无线网络
- 计算机网络安全凭据,账户为用户或计算机提供安全凭证,以便用户和计算机能够登录到网络,并拥有响应访 - 百科题库网...