winform总结4> 工欲善其事,必先利其器之xml校验
@echo 根据xml自动生成xml @echo 当前路径包含空格会导致执行失败 ::pause @echo off
set path=%~dp0 for /r %path% %%i in (*.xml) do "xsd.exe" %%i /o:"%path% ::这里的xsd.exe换成你所在电脑上vs中该工具的路径,不想找,可以直接去下边的网盘地址下载. @echo 写入成功
::@echo 工具通过vs自带sdks 通过xml格式生成对应的校验xsd文件
::@echo 手动生成请转到 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin
::@echo 将xml文件放到根目录,然后执行 xsd.exe 文件名的方式来生成,生成的文件为同名且后缀为xsd的文件 ::pause
xml校验需要一个模版文件xsd做为格式校验。如上代码就是生成xsd,需要一个xsd文件【只要安装了vs,在vs的工具中可以找到,没有也没有关系可以从这里下载工具】
百度网盘: http://pan.baidu.com/s/1qXN2LhM 密码: x9i9
解压后将需要校验的xml文件放到同一个目录中,然后执行bat就可以得到一个xsd文件用它作为校验模版进行校验就可以了,可以修改这个xsd文件的校验方式以执行更为严格的校验
校验方式:
using System.Xml.Schema;
try
{
FileStream sm = "待校验的文件";
XmlDocument doc = new XmlDocument();
doc.Load(sm);//data.xml
//验证xml格式是否正确 通过xsd验证
string error = "";
//声明XmlSchema
XmlSchemaSet schemas = new XmlSchemaSet();
schemas.Add("", XmlReader.Create(AppDomain.CurrentDomain.BaseDirectory + "Model.xsd"));
//声明事件处理方法
ValidationEventHandler eventHandler = new ValidationEventHandler(delegate(object sender, ValidationEventArgs e)
{
switch (e.Severity)
{
case XmlSeverityType.Error:
error += e.Message;
break;
case XmlSeverityType.Warning:
break;
}
});
doc.Schemas = schemas;
//验证xml
doc.Validate(eventHandler);
//检查是否有异常 如果格式不正确就抛出来
if (error.Length > )
{
result.error = result.fileName + "--> XML不符合标准规范";
}
else
{
doc.Save(AppDomain.CurrentDomain.BaseDirectory+"XMLFile/" + DateTime.Now.ToString("yyyymmddhhMMssss")+Guid.NewGuid().ToString() + ".xml");
}
}
catch
{
result.error = result.fileName+"--> XML文档格式错误";
}
整个过程中实际的代码量很少,基本上都不用写,最最关键的就是校验的文件。适用于同样格式的文档,但对文档格式有一定要求的地方使用。
winform总结4> 工欲善其事,必先利其器之xml校验的更多相关文章
- 转:【工欲善其事必先利其器】—Entity Framework实例详解
开始本篇文章之前,先说一下Entity Framework 6 Alpha1在NuGet中已可用,原文链接http://blogs.msdn.com/b/adonet/archive/2012/10/ ...
- 古语云:工欲善其事必先利其器 --> 最新、最全的 IntelliJ IDEA(2018.3.3) 的介绍、安装、破解、配置与使用
原文:古语云:工欲善其事必先利其器 --> 最新.最全的 IntelliJ IDEA(2018.3.3) 的介绍.安装.破解.配置与使用 一.IntelliJ IDEA 介绍 -> Ecl ...
- Winform: use the WebBrowser to display XML with xslt, xml, xslt 转 html 字符串
原文:Winform: use the WebBrowser to display XML with xslt, xml, xslt 转 html 字符串 声明xml字符串: string xml = ...
- 单片机开发——02工欲善其事必先利其器(Proteus软件安装破解)
在单片机开发工程中,博主经常通过模拟软件Proteus进行模拟仿真,将编译生成的"HEX"文件下载在单片机芯片中,然后进行后期的debug工作,当模拟仿真完成之后,进行硬件测试部分 ...
- 单片机开发——01工欲善其事必先利其器(Keil软件安装破解)
本文是博主<单片机开发>博客第一篇文章,主要讲述51单片机编程软件Keil uVision4的安装及破解过程. 1. Keil uVision4安装包文件 PATH:链接 ...
- 工欲善其事必先利其器--------搭建Android平台
工欲善其事必先利其器--------搭建Android平台 1.1 安装JDK 在Eclipse的开发过程中需要JDK或JRE的支持,否则会报错. (1) 下载JDK(建 ...
- java学习第一步-工欲善其事必先利其器
Java SE 磨刀不误砍柴工,工欲善其事必先利其器,咱们先搞好硬件配置,才能顺利的搞好Java学习 阶段一 1.认识Java 2.java发展史及用户 3.配置Java环境 4.JDK8下载安装 5 ...
- TIZ_c 第0周总结(2019/10/15-2019/10/22)工欲善其事必先利其器
TIZ_c 第0周总结(2019/10/15-2019/10/22)工欲善其事必先利其器 任务清单 给自己取一个酷酷的id,并选择1-2个喜欢的方向.(只是初步选择,后期可更改) 改下群名片.例如yo ...
- 二十二 XML校验器
Struts2提供的校验器及其规则:
随机推荐
- Ping域名惊现65.49.2.178
--- 昨天新建的博,早晨起来进去看看,发现无法访问.这… 排错开始,ping域名出现如上图所示结果,请求超时…哪里的问题呢 有时常识是害人的,想起了前两月群里也有人说本地无法访问自己网站,别人能访问 ...
- Android总结的基本机制监控事件
研究上午Android底层机制事件监视器,例如下面的摘要: 内核驱动监控硬件状态和行为,由uevent机制将事件发送到用户空间: 通过用户空间UeventObserver从内核监控uevent,处理. ...
- Scala 的 Web 框架 Lift 开始 3.0 版本开发
Scala 的 Web 框架 Lift 开始 3.0 版本开发 http://demo.liftweb.net/ http://liftweb.net/download Lift 框架在不断的成长和改 ...
- 完美的拥抱GitHub
Visual Studio 2012完美的拥抱GitHub 前言 一直以来都想使用Git来管理自己平时积累的小代码,就是除了工作之外的代码了.有时候自己搞个小代码,在公司写了,就要通过U盘或者网盘 ...
- C# 学习笔记1 .NET平台,C#的重要概念
.NET平台构成的三个关键实体是: 1.CLR(公共语言运行库):为我们定位,加载,管理.NET类型,同时负责一些底层细节的工作,如内存管理,应用托管,处理线程,安全检查等,它包含了一个重要名为msc ...
- SZU:D89 The Settlers of Catan
Judge Info Memory Limit: 65536KB Case Time Limit: 3000MS Time Limit: 3000MS Judger: Number Only Judg ...
- ListNode线性表
不常用,可以看一下实现原理 namespace UnilateralismChainTable { // 结点类 public class ListNode { public ListNode(int ...
- 捆绑(Bundle)
捆绑(Bundle) 本文介绍 MVC 4 提供的一个新特性:捆绑(Bundle),一个在 View 和 Layout 中用于组织优化浏览器请求的 CSS 和 JavaScript 文件的技术. 本 ...
- Solrcloud,tomcat,外部zookeeper配置
- windbg Symbol file path
SOS是一个调试器扩展,用于调试.NET应用程序.它提供了一组非常丰富的命令,这些命令使开发人员可以对CLR进行深入分析,并且有助于找出应用程序中各种复杂错误的原因. 由于SOS能够提供CLR内部 ...