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);
- }
C# 使用xsd文件验证XML 格式是否正确的更多相关文章
- 28.XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
转自https://www.cnblogs.com/gdjlc/archive/2013/09/08/3308229.html XML Schema 语言也称作 XML Schema 定义(XML S ...
- XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式
XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD),作用是定义 XML 文档的合法构建模块,类似 DTD,但更加强大. 作用有: ①定义 ...
- [转] IIS配置文件的XML格式不正确 applicationHost.config崩溃 恢复解决办法
IIS配置文件的XML格式不正确 applicationHost.config崩溃 恢复解决办法 源文件:http://www.cnblogs.com/yuejin/p/3385584.html ...
- IIS配置文件的XML格式不正确 applicationHost.config崩溃 恢复解决办法
当打开IIS管理器,或配置网站时提示错误:配置文件的XML格式不正确 且是applicationHost.config的问题,那么肯定是applicationHost.config被破坏,IIS就崩溃 ...
- iis设置默认文档,提示web.config配置xml格式不正确
网站上传后,配置默认文档,提示web.config配置xml格式不正确,几经尝试,发现是sqlserver密码中的“&”符号惹的祸,web.config文件中不能使用该字符.分享出来,大家遇到 ...
- JS验证邮箱格式是否正确的代码
验证邮箱格式是否正确的方法有很多,接下来为大家介绍下使用js是如何做到的 复制代码代码如下: /* *验证邮箱格式是否正确 *参数strEmail,需要验证的邮箱 */ www.jbxue.co ...
- Android 使用正则表达式验证邮箱格式是否正确
/** * 验证邮箱格式是否正确 */ public boolean emailValidation(String email) { String regex = "\\w+([-+.]\\ ...
- JS验证邮箱格式是否正确 实例代码
如何用js验证邮箱格式是否正确?分享一个例子.代码: /* *验证邮箱格式是否正确 *参数strEmail,需要验证的邮箱 */ function chkEmail(strEmail) { if (! ...
- WebService,ASMX文件使用XML格式数据传递参数、验证与获取XML格式返回值的一种方式
1:首先WebService方法定义,每个方法定义两个参数,一个用于验证权限,string格式的XML文本用于传输数据.最终目的实现,WebService方法,验证权限,获取XML数据,处理之后返回X ...
随机推荐
- Asp.Net MVC4 系列-- 进阶篇之路由(1)【转】
http://blog.csdn.net/lan_liang/article/details/22993839?utm_source=tuicool
- 安卓dalvik和art区别
Dalvik模式像是一台折叠自行车,每次骑之前都要组装后才能上路.而ART模式就是一个已经装好的自行车,直接就能上车走人.所以ART模式在效率上肯定是要好于Dalvik. 通过以上这种表格,我们可以直 ...
- HDU 5389 Zero Escape
题意:有一些人,每人拿一个号码,有两个门,门的值分别为A和B,要求把人分成两堆(可以为空)一堆人手持号码之和的数字根若等于A或者B就可以进入A门或者B门,要求两堆人分别进入不同的门,求有几种分配方式, ...
- 数据库SQL Server与C#中数据类型的对应关系
ylbtech- .NET-Basic:数据库SQL Server与C#中数据类型的对应关系 数据库SQL SServer与C#中数据类型的对应关系 1.A,返回顶部 数据库 C#程序 int int ...
- UI控件之 ScrollView垂直滚动控件 和 HorizontalScrollView水平滚动控件的使用
1. ScrollView 垂直滚动控件的使用 ScrollView控件只是支持垂直滚动,而且在ScrollView中只能包含一个控件,通常是在< ScrollView >标签中定义了一个 ...
- Easy Climb
题意: 有n块石头,给定他们的高度,现保持第一和最后一块高度不变,其他可增加和减少高度,求通过变换使所有相邻石头的高度差的绝对值不大于d,所变化高度总和的最小值. 分析: 状态还可以想出来,dp[i] ...
- IOS 时间 日历 处理集合
1.获得当前时间 从1970开始的秒数 NSTimeInterval time = [[NSDate date[ timeIntervalSince1970]]; NSString * str = [ ...
- QC开发只能修改指派给自己的缺陷,而其他的bug可以查看但是不允许修改
今天在QC9.0项目中增加了几个项目,然后我的想法是:开发只能修改指派给自己的缺陷,而其他的bug可以查看但是不允许修改 虽说qc我还是比较熟悉的,但是对于这个问题,感觉可能要用到脚本,对于脚本我一窍 ...
- document.getElementsByClassName方法的重写(OVERRIDE)
众所周知,对于IE8以下的浏览器(IE8居然是WIN7预装的)没有document.getElementsByClassName,网上也有很多重写的方法,以下是本人在项目中所使用的方法 documen ...
- C语言基础知识--位运算
1.原码,反码,补码: (1)在n位的机器数中,最高位为符号位,该位为零表示为正,为一表示为负:其余n-1位为数值位,各位的值可为零或一.当真值为正时,原码.反码.补码数值位 完全相同:当真值为负时, ...