服务端源码下载地址为:

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文件及运行外部程序相关推荐

  1. 大三软件工程小项目-小技术集合总结

    大三软件工程小项目-小技术集 此篇文章是给出了此小项目用到的技术的总结: 方便自己有忘记的知识点后方便查阅. 也方便有需要的博友看. 下面是各个计算的链接 大家点击了进能进去 大三软件工程小项目-小技 ...

  2. java项目——Dom4j读取XML文件连接orecal数据库

    Dom4j介绍:           dom4j是一个简单的开源库,用于处理XML. XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集 成了DOM,SAX和JAXP.在国内比较 ...

  3. java项目——Dom4j读取XML文件保存orecal数据库

    上一篇介绍了如何利用dom4j读取xml文件,连接数据库,换数据库的话直接修改XML文件,使配置更加灵 活,本篇博客主要介绍一下如何将XML文件导入到orecal数据库中. XML在现在的项目中的应用 ...

  4. HTML读取xml文件的三种办法

    刚开始学这里的时候有点懵,以前没学过.但是学安卓动画(Animation)的时候接触过xml文件,总体来说不难. 一般来说xml文件用来储存数据,然后html读取它,主要介绍三种读取方式 利用CSS读 ...

  5. 大三软件工程小项目-小技术集合-大纲

    回忆2016年下半年,我上了软件工程这个课. 也就是因为这个课,做了一个小程序,这个程序不难,全是基础 程序的截图如下: 服务端截图: 客户端截图: 就是这两个程序. 看起来是很高大上,其实是阉割的. ...

  6. 自我评估,职业规划及对计算机专业的理解(大三软件工程学生的第一篇博客)

    自我定位职业规划及对计算机邻域的理解 2020-01-09 自我定位: 本人就读于浙工大(仅次于985,211大学)软件工程专业,大三在读,对于学校教学计划掌握程度在80%,能够利用库或API独立完成 ...

  7. 实验三 软件工程结对项目

    Deadline:2018-4-4 10:00,以博客发表日期为准 评分标准: 按时交 - 有分(满分30分,代码和博客各15分),检查项目包括: -  未提交项目源码到Github上,代码部分不得分 ...

  8. 小项目/小游戏Demo合集

    几个以前写过的小项目,比较low,拿出来献献丑. 项目我都已经上传在我的博客上,可以免费下载到. PC端2048小游戏 用C#写的,界面大概是这样 基本逻辑如下: 用picturebox构建一个4*4 ...

  9. 【小项目】用Huffman树实现文件压缩并解压

    一.前言 如果你学习数据结构,就一定会学到Huffman树,而Huffman编码实际上上就是zip压缩的核心部分,所以,如果已经学习了Huffman树,为何不尝试写一个压缩程序出来呢? 如果你没有学习 ...

最新文章

  1. 二十七、二叉树--删除结点
  2. 使用VS插件在VS2012/2013上编辑和调试Quick-Cocos2d-x的Lua代码
  3. php xingnengfenxi_PHP 性能分析与实验:性能的微观分析
  4. Hyper-V 的导入和导出
  5. 进程池、线程池、回调函数、协程
  6. appium python unittest_appium+python+unittest自动化测试
  7. mysql pconnect_mysql_pconnect()
  8. linux 下的emoji在MariaDB中的字符集修改
  9. Windows 环境下分布式跨域Session共享(转)
  10. go var 一个整数_Go语言基础之基本数据类型
  11. python基础之函数式编程
  12. CentOS7下Maven安装脚本
  13. 奎享添加自己字体_文泰刻绘怎么添加字体 新字体导入与添加步骤教程
  14. Dubbo视频教程--基础篇--第03节--ZooKeeper注册中心安装详细步骤(单节点)
  15. 为什么边缘概率密度是联合概率密度的积分_看懂蒙特卡洛积分(一) 概率分布变换与随机采样...
  16. MySQL Enterprise Backup使用简介
  17. Xilinx FPGA全局时钟和局部时钟
  18. Emacs-057-hippie-expand使用
  19. 用网络命令关闭计算机,如何在win7用cmd命令关闭无线网络
  20. 计算机网络安全凭据,账户为用户或计算机提供安全凭证,以便用户和计算机能够登录到网络,并拥有响应访 - 百科题库网...

热门文章

  1. 一篇文章带初学者明白:什么是编译器,什么是集成开发环境(IDE)?
  2. 程序园冬天好冷怎么办?
  3. dabeicun 2013源码下载
  4. 飞鸽传书,去看了下WEBBROWSER的资料
  5. 好的原程序做出好的软件
  6. React 系列之 怎么学最快速有效
  7. 我端午节又来免费送书了!
  8. 漫画 | 让设计师崩溃的十个瞬间
  9. 测视力距离5米还是3米_7岁男孩近视猛涨300度!眼科专家提醒:保护孩子视力这一点很关键...
  10. 送书 | 推荐一个可能是最全的Venn图一站式绘制工具