zoukankan      html  css  js  c++  java
  • 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 SDKsWindowsv7.0ABin 
    ::@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 > 0) { 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文档格式错误"; }

    整个过程中实际的代码量很少,基本上都不用写,最最关键的就是校验的文件。适用于同样格式的文档,但对文档格式有一定要求的地方使用。

  • 相关阅读:
    [导入]更改sql2005中的时间默认格式 Virus
    [导入]OO系统分析员之路学习笔记一用例 Virus
    [导入]面向对象学习笔记三参与者 Virus
    [导入]word2007和powerdesigner12.5的问题导致鼠标 Virus
    [导入]面向对象学习笔记四需求分析的阶段划分 Virus
    [导入]关于接口和抽象类的一点小想法 Virus
    [导入]功夫在工作之外 Virus
    [导入]面向对象学习笔记面向对象和面向过程 Virus
    [导入]更改sql2005中的时间默认格式 Virus
    [导入]网页的版式设计—文字的格式化 Virus
  • 原文地址:https://www.cnblogs.com/zzfstudy/p/6275042.html
Copyright © 2011-2022 走看看