C#使用xsd文件验证XML格式是否正确的实现方法
本文实例讲述了C#使用xsd文件验证XML格式是否正确的实现方法。分享给大家供大家参考,具体如下:
//创建xmlDocument XmlDocument doc = new XmlDocument(); //创建声明段 如<?xml version="1.0" encoding="utf-8" ?> doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", null)); //创建一个根节点 KYTResults XmlElement results = doc.CreateElement("KYTResults"); //创建 ResultsStatus XmlNode resultsStatus = doc.CreateElement("ResultsStatus"); //创建Level XmlElement element = doc.CreateElement("Level"); element.InnerText = status ? "0" : "1"; resultsStatus.AppendChild(element); //创建Description element = doc.CreateElement("Description"); element.InnerText = msg; resultsStatus.AppendChild(element); //创建PassKey 如果用户登录失败 将加载空字符 element = doc.CreateElement("PassKey"); element.InnerText = key; resultsStatus.AppendChild(element); results.AppendChild(resultsStatus); //END 创建 ResultsStatus //创建 DataList 数据集合 if (status) { results.AppendChild(dataList); } //END 创建一个根节点 KYTResults doc.AppendChild(results); string path = Server.MapPath("/ws/xsd/ReceiveReturn.xsd"); //验证xml格式是否正确 通过xsd验证 string error = ""; //声明XmlSchema XmlSchemaSet schemas = new XmlSchemaSet(); schemas.Add("", XmlReader.Create(path)); //声明事件处理方法 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 (!"".Equals(error)) { throw new Exception(error); }
PS:这里再为大家提供几款比较实用的xml相关在线工具供大家使用:
在线XML格式化/压缩工具:
http://tools.jb51.net/code/xmlformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《C#程序设计之线程使用技巧总结》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》
希望本文所述对大家C#程序设计有所帮助。
- C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串的方法
- C#中把任意类型的泛型集合转换成SQLXML数据格式的实例
- C#实现导出List数据到xml文件的方法【附demo源码下载】
- C#实现的xml操作类完整实例
- C#实现XML与实体类之间相互转换的方法(序列化与反序列化)
- C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)
- C#对XML文件的各种操作实现方法
- C# WinForm开发中使用XML配置文件实例
- C#对象与XMl文件之间的相互转换
- C#中XmlTextWriter读写xml文件详细介绍
- C# 写入XML文档三种方法详细介绍
- C# 操作XML文档 使用XmlDocument类方法
- C#实现XML文档的增删改查功能示例
相关文章
C#的path.GetFullPath 获取上级目录实现方法
这篇文章主要介绍了C#的path.GetFullPath 获取上级目录实现方法,包含了具体的C#实现方法以及ASP.net与ASP等的方法对比,非常具有实用价值,需要的朋友可以参考下2014-10-10
最新评论