C#中用schema验证xml的合法性
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的合法性相关推荐
- 一个完整的schema验证xml的样例
xml文件: <reference xmlns="http://www.w3school.com.cn" xmlns:xsi="http://www.w3.org/ ...
- java实现xml的xsd验证_Java通过XML Schema校验XML
首页 > 编程语言> 文章详细 Java通过XML Schema校验XML 2020-03-28 10:51:10阅读:77来源:互联网 Java通过XML Schema校验XML XML ...
- XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD),作用是定义 XML 文档的合法构建模块,类似 DTD,但更加强大. 作用有: ①定义 ...
- xml基础、DTD验证、Schema验证(备忘)
一.xml基础详解: 1.概述: xml:即可扩展标记语言,xml是互联网数据传输的重要工具,它可以跨越互联网任何的平台,不受编程语言和操作系统的限制,可以说它是一个拥有互联网最高级别通行证的数据携带 ...
- java xml 验证工具_验证xml格式
原文链接http://zhhll.icu/2020/12/20/xml/xml%E7%9A%84%E6%A0%BC%E5%BC%8F/ 验证xml格式 DTD验证 可以使用DTD来定义XML文档的合法 ...
- 使用架构(XSD)验证XML文件
假使说XML是一个数据库,那么XSD就是这个数据库的结构.由此可见,XSD是如此重要,如果没有它,我们如何声明以及验证我们需要的XML数据文件的格式和合法性呢?那是不可能完成的任务,如果你将XML数据 ...
- XML—— 验证XML文档
[0]README 0.0)本文文字描述转自 core java volume 2 , 旨在理解 XML-- 验证XML文档 的基础知识 0.1)problem+solution (干货--不推荐使用 ...
- 针对Java中的XSD验证XML
有许多工具可用于根据XSD 验证XML文档 . 其中包括操作系统脚本和工具,例如xmllint ,XML编辑器和IDE,甚至是在线验证器. 由于前面提到的方法的局限性或问题,我发现拥有自己的易于使用的 ...
- java schema 验证_java实现的XMLschema验证是什么?
最近对Schema 验证研究了一下, 代码如下:所需JAR包需要自己下载(版本一定要正确)public class SchemaValidation { public static void m ...
最新文章
- Android开源项目分类汇总[转]
- POJ 1001 Exponentiation C++解题报告 JAVA解题报告
- python expect模块_PYTHON基础语法全面总结
- Java不满足的依赖异常_不要依赖代码中的异常
- 无聊写的一个PHP Socket类
- SAP Fiori Elements list report filter - implemented by framework
- php伪静态不支持中文,wordpress伪静态如何支持中文(目前不支持分类目录中文)...
- Python习题week2
- 工具包:Safetype Config使用
- Java经典23结构模型的设计模式(三)------附加代理模式、适配器型号、Facade模式的差异...
- UVA11161 Help My Brother (II)【大数+递推】
- bert性能优化之——用另一种方式整合多头注意力
- 关于下载excel 解析文件名乱码
- Topaz Adjust AI Mac
- UPD网络连接服务端
- java字母大小写转换
- Fleck webSocket
- 《管理的实践》读书心得
- 用python编阶层
- 快手如何投放广告?费用怎么计算的?
热门文章
- 系统定制封装 step1
- 手动编译Mysql5.6.10 手动编译php 支持fastcgi
- 在MVC的cshtml视图页获取默认路由下的ID值的方法
- linux shell 脚本攻略学习10--生成任意大小的文件和文本文件的交集与差集详解
- 解决Fiddler不能监听Java HttpURLConnection请求的方法
- 一个进程安全的日志类, Linux实现
- .net 2.0 BackgroundWorker类详细用法
- initrd映像文档的作用和制作
- java基础之继承补充和抽象类
- jqgrid 让隐藏的列在编辑状态时出现且可编辑