C#中用schema验证xml的合法性
2017-09-19 16:05
330 查看
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的合法性
- C#中用schema验证xml的合法性
- C#中用schema验证xml的合法性
- C# Schema验证Xml的若干种方法
- XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
- XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
- C# Schema验证Xml的若干种方法
- XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
- XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
- XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
- JAVA使用JAXB框架根据schema.xsd文件验证XML合法性
- 使用schema验证xml文档的合法性
- [SoapUI]怎样运用Schema通过*.xsd文件来验证response对应的xml文件
- xml基于Schema的XML文档有效性验证
- schema验证xml
- xml基础、DTD验证、Schema验证(备忘)
- 通过xsd验证xml合法性的例子。有验证程序,xml和xsd文件
- XSD 验证 xml 合法性
- 如何用 Visual C#.net 中的 DTD、 XDR,或 XSD 验证 XML 文档
- XML组成结构以及C#通过DTD验证规范性