华途软件受控XML转EXCEL
公司加密系统用的是华途的产品。最近公司高层想要重新梳理公司信息安全管理情况,华途加密系统的梳理和优化是重中之重。
今天公司领导要求IT导出目前系统中所有软件、后缀的受控情况,然后IT吭哧吭哧地把华途软件中的XML发给领导了,结果领导根本不知道如何打开XML文件。等到领导用IE打开XML后,看到的是满屏幕的天书。IT的下场我只能说:老惨了。。。
领导看到的XML如下图:

这个XML的格式还是很清晰的:ModuleInfo定义了软件的版本,进程标识,分类,控制类型等信息。 Include节点下面定义了要控制的文件后缀,Exclude节点下面定义了不控制的文件后缀。
所以,解决这个问题的思路很简单:通过代码读取这个XML文件,转义成领导能看懂的格式,存成EXCEL即可。
//定义结果集
scList = new List<SecureControl>();
//读取XML文件
string xmlFile = Path.Combine(Application.StartupPath, "XML", "config.xml");
XElement xele = XElement.Load(xmlFile);
//读取ModuleInfo节点集合
IList<XElement> a = xele.Descendants("ModuleInfo").ToList(); //ModuleInfo
foreach (XElement x in a)
{
try
{
//读取节点属性,取得软件版本等信息。
SecureControl sc = new SecureControl();
sc.IsCharacteristic = x.Attribute("IsCharacteristic").Value;
sc.IsControled = x.Attribute("IsControled").Value;
sc.Process = x.Attribute("Process").Value;
sc.SoftType = x.Attribute("SoftType").Value;
sc.SoftVersion = x.Attribute("SoftVersion").Value;
sc.Include = "";
sc.Exclude = "";
//遍历读取Include
IList<XElement> include = x.Descendants("Include").Descendants("FileType").ToList();
foreach (XElement ic in include)
{
sc.Include += (ic.Value + " ");
}
//遍历读取Exclude
IList<XElement> exclude = x.Descendants("Exclude").Descendants("FileType").ToList();
foreach (XElement ex in exclude)
{
sc.Exclude += (ex.Value + " ");
}
//插入结果集,用于显示
scList.Add(sc);
}
catch
{ }
}
gridControl1.DataSource = scList;
效果展示:
读取界面

存成的Excel:

华途软件受控XML转EXCEL的更多相关文章
- 使用Open xml 操作Excel系列之一-读取Excel
一. 安装Open Xml SDK 从微软网站下载Open xml SDK,安装SDK. 二. 在项目中添加对DocumentFormat.OpenXml库的引用
- Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类
Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...
- python - xml转excel
xml转excel,可以用xml.etree.ElementTree去解析xml文件,然后用xlwt写入excel 示例:ConvConfig.xml <Conveyor_Channel_1&g ...
- 【Python】Xml To Excel
[Python3] 之前做的入门练习里有一题将excel文件转化为xml文件,这回补上逆向转换→xml to excel 用的还是beautifulsoup. 主要还是:①读取待处理文件文本内容 ②处 ...
- xml与Excel转换
使用Python将如下xml格式转换为Excel格式: xml转为xls格式文件: xml格式如下: <?xml version="1.0" encoding="U ...
- 【java工具类】java做的一个xml转Excel工具,基于maven工程
说明:适合数据库导出为xml时转成Excel 本工具将上传至GitHub:https://github.com/xiaostudy/xiaostudyAPI3 doc4j的maven依赖 <!- ...
- Open XML操作Excel导入数据
项目中发现使用OleDb(using System.Data.OleDb)相关对象处理Excel导入功能,不是很稳定经常出问题,需要把这个问题解决掉.项目组提出使用OpenXML来处理Excel的导入 ...
- C# 读写xml、excel、word、ppt、access
C# 读写xml.excel.word.access 这里只是起个头,不做深入展开,方便以后用到参考 读写xml,主要使用.net 的xml下的document using System;using ...
- Open Xml 读取Excel中的图片
在我的一个项目中,需要分析客户提供的Excel, 读出其中的图片信息(显示在Excel的第几行,第几列,以及图片本身). 网络上有许多使用Open Xml插入图片到Word,Excel的文章, 但 ...
随机推荐
- My97DatePicker日期控件,开始时间不能大于结束时间,结束时间不能小于开始时间
在只做项目的时候,需要用到一个日期控件,之前用到过my97,感觉挺好的,兼容性很强,配置也比较容易 当开始时间不能大于结束时间和结束时间不能小于开始时间,这个需要一个判定的,要不然不就乱套了 在my9 ...
- 第11章 创建请求URLs - IdentityModel 中文文档(v1.0.0)
该RequestUrl是创建与查询字符串参数,例如URL的帮手: var ru = new RequestUrl("https://server/endpoint"); // pr ...
- C#语言介绍
C#(读作“See Sharp”)是一种简单易用的新式编程语言,不仅面向对象,还类型安全. C# 源于 C 语言系列,C.C++.Java 和 JavaScript 程序员很快就可以上手使用. C# ...
- SQL server 存储过程的建立和调用
存储过程的建立和调用 --1.1准备测试需要的数据库:test,数据表:物料表,采购表if not exists (select * from master.dbo.sysdatabases whe ...
- SQL Server 查找统计信息的采样时间与采样比例
有时候我们会遇到,由于统计信息不准确导致优化器生成了一个错误的执行计划(或者这样表达:一个较差的执行计划),从而引起了系统性能问题.那么如果我们怀疑这个错误的执行计划是由于统计信息不准确引起的.那么我 ...
- 【原】Oracle EBS 11无法打开Form及Form显示乱码的解决
问题:Oracle EBS 11无法打开Form及Form显示乱码 解决: 1.尝试使用jre1.5或1.6安装目录下jre/bin/server目录里的jvm.dll替换JInitiator安装目录 ...
- springboot 多线程执行
一.springboot开线程执行异步任务 1.Spring通过任务执行器TaskExecutor,来实现多线程和并发编程,使用ThreadPoolTaskExecutor可实现一个基于线程池的Tas ...
- MySQL 文章目录
MySQL系列: MySQL CREATE TABLE语法 MySQL 复制表结构 MySQL 对比数据库表结构 MySQL 处理插入过程中的主键唯一键重复值办法 MySQL 启动原理剖析 MySQL ...
- Linux系统监控命令详解
1. top命令 top命令经常用来监控Linux的系统状况,比如cpu.内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解. 输 ...
- Oracle ADDM报告生成和性能分析
我写的SQL调优专栏:https://blog.csdn.net/u014427391/article/category/8679315 对于局部的,比如某个页面列表sql,我们可以使用Oracle的 ...