//创建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. Oracle体系结构知识点的运用

    体系结构方面的优化问题: 设数据库很大,访问量非常高,共享池很小:这样共享池里面就无法存储很多解析过得sql语句,导致很多硬解析,这样数据库就非常缓慢.这个时候要加大共享池.如果是自动管理,就加大SG ...

  2. Redis 三:存储类型之字符串

    .赋值单个: [赋值多个:mset a b c ] .取值单个: get a [取值多个:mget a b c] .数字递增 incr a 在a的基础上+,那就是返回101 如果预先的值为0,那么返回 ...

  3. [原]项目进阶 之 持续构建环境搭建(三)Maven环境搭建

    上次的博文项目进阶 之 持续构建环境搭建(二)Nexus私服器中,我们搭建了一个Nexus的maven私服,这次我们来重点讲解一下Maven的安装和配置.这里说明一下这次的环境搭建,比较基础,但却非常 ...

  4. sql replace

    update dbo.EquipmentAttribute set AttributeName=replace(AttributeName,'    ','') where EquipmentID=8 ...

  5. sqlserver 行转列、列转行[转]

    转自:http://www.cnblogs.com/luofuxian/archive/2012/02/23/2364328.html Sql Server 行转列.列转行   创建表:   CREA ...

  6. Codeforces Round #343 (Div. 2) E. Famil Door and Roads

    题目链接: http://www.codeforces.com/contest/629/problem/E 题解: 树形dp. siz[x]为x这颗子树的节点个数(包括x自己) dep[x]表示x这个 ...

  7. PHP之list()函数讲解

    定义和用法 list() 函数用数组中的元素为一组变量赋值. 注意,与 array() 类似,list() 实际上是一种语言结构,不是函数. 语法 list(var1,var2...) 参数 描述 v ...

  8. 使用zend studio配置Xdebug调试PHP教程

    这里看过上面的文章后写一下自己的想法. 最近安装了zend studio 10.5,下载了破解文件.开始是下载了10.0的版本,但是注册码不正确.所以只能安装最新的10.5了. 接下来进行PHP代码调 ...

  9. jquery mouseout事件冒泡解决方法

    在界面中最多使用的是div,如果一个div中包含多个div或img对象时, 针对mouseout鼠标移出事件时,并没有移出div层,但是当移动到div中的img时,也触发了该mouseout事件,这就 ...

  10. Bad configuration option localCommand

     command-line: line 0: Bad configuration option: PermitLocalCommand 2011-12-08 14:04:54 标签:Bad confi ...