class ValidateXML{public string ErrString = string.Empty;public void ValidationEventCallBack(Object sender, ValidationEventArgs e){if (e.Severity == XmlSeverityType.Warning)//区分是警告还是错误
            {//Console.WriteLine("验证成功!警告:" + e.Message);ErrString += "验证成功!警告:" + e.Message;}else{// Console.WriteLine("验证失败");ErrString += "Err:" + e.Message;}}public void CheckXmlValidate(string strRequestXML){//string ErrString = string.Empty;StringReader sRead = null;XmlReader xmlRead = null;XmlSchemaSet schemaSet;try{schemaSet = new XmlSchemaSet();sRead = new StringReader(strRequestXML);schemaSet.Add(null, @"MySchema.xsd");XmlReaderSettings settings = new XmlReaderSettings();settings.ValidationEventHandler += new ValidationEventHandler(this.ValidationEventCallBack);settings.ValidationType = ValidationType.Schema;settings.Schemas = schemaSet;xmlRead = XmlReader.Create(sRead, settings);while (xmlRead.Read()){}if (ErrString.ToString() == String.Empty){Console.WriteLine("验证成功!");}else{Console.WriteLine("验证失败!原因可能是:" + ErrString);}}catch (XmlException exec){Console.WriteLine(exec.Message);}finally{if (xmlRead != null){xmlRead.Close();}}}}public static void Main(string[] args){
ValidateXML vx = new ValidateXML();//StreamReader sr = new StreamReader(new FileStream(@"test.xml", FileMode.Open));vx.CheckXmlValidate(File.ReadAllText(@"test.xml"));PressQtoQuit();}public static void PressQtoQuit(){Console.WriteLine("Hit Q to exit");ConsoleKey key;do{key = Console.ReadKey().Key;} while (key != ConsoleKey.Q);}

Reference from : https://msdn.microsoft.com/en-us/library/as3tta56(v=vs.80).aspx

Reference from : http://www.cnblogs.com/joean/p/4982875.html

C#中用schema验证xml的合法性相关推荐

  1. 一个完整的schema验证xml的样例

    xml文件: <reference xmlns="http://www.w3school.com.cn" xmlns:xsi="http://www.w3.org/ ...

  2. java实现xml的xsd验证_Java通过XML Schema校验XML

    首页 > 编程语言> 文章详细 Java通过XML Schema校验XML 2020-03-28 10:51:10阅读:77来源:互联网 Java通过XML Schema校验XML XML ...

  3. XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式

    XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD),作用是定义 XML 文档的合法构建模块,类似 DTD,但更加强大. 作用有: ①定义 ...

  4. xml基础、DTD验证、Schema验证(备忘)

    一.xml基础详解: 1.概述: xml:即可扩展标记语言,xml是互联网数据传输的重要工具,它可以跨越互联网任何的平台,不受编程语言和操作系统的限制,可以说它是一个拥有互联网最高级别通行证的数据携带 ...

  5. java xml 验证工具_验证xml格式

    原文链接http://zhhll.icu/2020/12/20/xml/xml%E7%9A%84%E6%A0%BC%E5%BC%8F/ 验证xml格式 DTD验证 可以使用DTD来定义XML文档的合法 ...

  6. 使用架构(XSD)验证XML文件

    假使说XML是一个数据库,那么XSD就是这个数据库的结构.由此可见,XSD是如此重要,如果没有它,我们如何声明以及验证我们需要的XML数据文件的格式和合法性呢?那是不可能完成的任务,如果你将XML数据 ...

  7. XML—— 验证XML文档

    [0]README 0.0)本文文字描述转自 core java volume 2 , 旨在理解 XML-- 验证XML文档 的基础知识 0.1)problem+solution (干货--不推荐使用 ...

  8. 针对Java中的XSD验证XML

    有许多工具可用于根据XSD 验证XML文档 . 其中包括操作系统脚本和工具,例如xmllint ,XML编辑器和IDE,甚至是在线验证器. 由于前面提到的方法的局限性或问题,我发现拥有自己的易于使用的 ...

  9. java schema 验证_java实现的XMLschema验证是什么?

    最近对Schema 验证研究了一下, 代码如下:所需JAR包需要自己下载(版本一定要正确)public class SchemaValidation {    public static void m ...

最新文章

  1. Android开源项目分类汇总[转]
  2. POJ 1001 Exponentiation C++解题报告 JAVA解题报告
  3. python expect模块_PYTHON基础语法全面总结
  4. Java不满足的依赖异常_不要依赖代码中的异常
  5. 无聊写的一个PHP Socket类
  6. SAP Fiori Elements list report filter - implemented by framework
  7. php伪静态不支持中文,wordpress伪静态如何支持中文(目前不支持分类目录中文)...
  8. Python习题week2
  9. 工具包:Safetype Config使用
  10. Java经典23结构模型的设计模式(三)------附加代理模式、适配器型号、Facade模式的差异...
  11. UVA11161 Help My Brother (II)【大数+递推】
  12. bert性能优化之——用另一种方式整合多头注意力
  13. 关于下载excel 解析文件名乱码
  14. Topaz Adjust AI Mac
  15. UPD网络连接服务端
  16. java字母大小写转换
  17. Fleck webSocket
  18. 《管理的实践》读书心得
  19. 用python编阶层
  20. 快手如何投放广告?费用怎么计算的?

热门文章

  1. 系统定制封装 step1
  2. 手动编译Mysql5.6.10 手动编译php 支持fastcgi
  3. 在MVC的cshtml视图页获取默认路由下的ID值的方法
  4. linux shell 脚本攻略学习10--生成任意大小的文件和文本文件的交集与差集详解
  5. 解决Fiddler不能监听Java HttpURLConnection请求的方法
  6. 一个进程安全的日志类, Linux实现
  7. .net 2.0 BackgroundWorker类详细用法
  8. initrd映像文档的作用和制作
  9. java基础之继承补充和抽象类
  10. jqgrid 让隐藏的列在编辑状态时出现且可编辑