//创建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); 
                    

xmlsechema验证的更多相关文章

  1. 【探索】无形验证码 —— PoW 算力验证

    先来思考一个问题:如何写一个能消耗对方时间的程序? 消耗时间还不简单,休眠一下就可以了: Sleep(1000) 这确实消耗了时间,但并没有消耗 CPU.如果对方开了变速齿轮,这瞬间就能完成. 不过要 ...

  2. C# 中参数验证方式的演变

    一般在写方法的时候,第一步就是进行参数验证,这也体现了编码者的细心和缜密,但是在很多时候这个过程很枯燥和乏味,比如在拿到一个API设计文档的时候,通常会规定类型参数是否允许为空,如果是字符可能有长度限 ...

  3. Yii1.1的验证规则

    在Yii1.1的数据验证是由CValidator完成,在CValidator中提供了各种基本的验证规则 <?php public static $builtInValidators=array( ...

  4. 【WCF】使用“用户名/密码”验证的合理方法

    我不敢说俺的方法是最佳方案,反正这世界上很多东西都是变动的,正像老子所说的——“反(返)者,道之动”.以往看到有些文章中说,为每个客户端安装证书嫌麻烦,就直接采用把用户名和密码塞在SOAP头中发送,然 ...

  5. PHP验证用户登录例子-学习笔记

    1.基本流程: 2.UML类图: 3.PHP代码: 3.1 index.php <?php /** * Created by PhpStorm. * User: andy * Date: 16- ...

  6. 客户端的验证插件validator

    简单,智能,令人愉悦的表单验证~~~ 官方文档:http://www.niceue.com/validator/ <!DOCTYPE html> <html> <head ...

  7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(66)-MVC WebApi 用户验证 (2)

    系列目录 前言: 回顾上一节,我们利用webapi简单的登录并进行了同域访问与跨域访问来获得Token,您可以跳转到上一节下载代码来一起动手. 继续上一篇的文章,我们接下来演示利用拿到的Token来访 ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(65)-MVC WebApi 用户验证 (1)

    系列目录 前言: WebAPI主要开放数据给手机APP,其他需要得知数据的系统,或者软件应用,所以移动端与系统的数据源往往是相通的. Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能, ...

  9. 再谈C#采集,一个绕过高强度安全验证的采集方案?方案很Low,慎入

    说起采集,其实我是个外行,以前拔过阿里巴巴的客户数据,在我博客的文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子) 中,介绍过采集用的工具,其实很Low的,分析 ...

随机推荐

  1. HTTP报文格式

    请求报文 <method><SP><uri><SP><version><CRLF> <head-name><: ...

  2. linux编码

    转: Linux查看文件编码格式及文件编码转换 如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题.Windows中默认的文件格式是GBK(gb2312),而L ...

  3. php必看六本书

    php和mysql web开发 PHP高级程序设计_模式.框架与测试.pdf  PHP专业项目实例开发.pdf PHP5高级应用开发实践.pdf [深入PHP面向对象.模式与实践(第2版)].(美)赞 ...

  4. (转) linux目录结构详细介绍

    转自:http://yangrong.blog.51cto.com/6945369/1288072 目录 1.树状目录结构图 2./目录 3./etc/目录 4./usr/目录 5./var/目录 6 ...

  5. 2016 医疗项目 Bootstrap 自适应页面布局(1)

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  6. php操作mysqli(示例代码)

    <?php define("MYSQL_OPEN_LOGS",true); class mysqliHelp { private $db; public function _ ...

  7. net windows Kafka

    net windows Kafka 安装与使用入门(入门笔记) 完整解决方案请参考: Setting Up and Running Apache Kafka on Windows OS   在环境搭建 ...

  8. iOS 10的23个隐藏新特性-b

    上周iOS 10正式版推送后,24小时的更新率已经超过15%,实在惊人.虽然有着初期变砖.5S6卡顿.移动VoLTE无法使用.美版无信号等BUG,但不可忽视的是,iOS 10还是带来了很多从前没有的功 ...

  9. EntityFramework Add方法与Attach区别

    一 先发问. 问题:在使用EF过程中,能否有一个方法可以直接执行传入的SQL语句.纠结的只找到了调用存储过程的方法,难道要SqlHelper.cs?    二 友情提示 本文内容参考自MSDN. 三 ...

  10. 为什么数据可以从pl/sql查出来而使用ado.net查询,结果却是空?

    1.背景 一条记录(如select * from A where a='1'),使用pl/sql作为条件可以查询出记录,但用ado.net sql查询结果却是空. 2.原因 a字段的数据类型的char ...