C# 使用xsd文件验证XML 格式是否正确

核心示例代码:

  1. //创建xmlDocument
  2. XmlDocument doc = new XmlDocument();
  3. //创建声明段 如<?xml version="1.0" encoding="utf-8" ?>
  4. doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", null));
  5. //创建一个根节点 KYTResults
  6. XmlElement results = doc.CreateElement("KYTResults");
  7. //创建 ResultsStatus
  8. XmlNode resultsStatus = doc.CreateElement("ResultsStatus");
  9. //创建Level
  10. XmlElement element = doc.CreateElement("Level");
  11. element.InnerText = status ? "0" : "1";
  12. resultsStatus.AppendChild(element);
  13. //创建Description
  14. element = doc.CreateElement("Description");
  15. element.InnerText = msg;
  16. resultsStatus.AppendChild(element);
  17. //创建PassKey 如果用户登录失败 将加载空字符
  18. element = doc.CreateElement("PassKey");
  19. element.InnerText = key;
  20. resultsStatus.AppendChild(element);
  21. results.AppendChild(resultsStatus);
  22. //END 创建 ResultsStatus
  23. //创建 DataList  数据集合
  24. if (status)
  25. {
  26. results.AppendChild(dataList);
  27. }
  28. //END 创建一个根节点 KYTResults
  29. doc.AppendChild(results);
  30. string path = Server.MapPath("/ws/xsd/ReceiveReturn.xsd");
  31. //验证xml格式是否正确 通过xsd验证
  32. string error = "";
  33. //声明XmlSchema
  34. XmlSchemaSet schemas = new XmlSchemaSet();
  35. schemas.Add("", XmlReader.Create(path));
  36. //声明事件处理方法
  37. ValidationEventHandler eventHandler = new ValidationEventHandler(delegate(object sender, ValidationEventArgs e) {
  38. switch (e.Severity)
  39. {
  40. case XmlSeverityType.Error:
  41. error += e.Message;
  42. break;
  43. case XmlSeverityType.Warning:
  44. break;
  45. }
  46. });
  47. doc.Schemas = schemas;
  48. //验证xml
  49. doc.Validate(eventHandler);
  50. //检查是否有异常 如果格式不正确就抛出来
  51. if (!"".Equals(error))
  52. {
  53. throw new Exception(error);
  54. }

C# 使用xsd文件验证XML 格式是否正确的更多相关文章

  1. 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 ...

  2. XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式

    XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD),作用是定义 XML 文档的合法构建模块,类似 DTD,但更加强大. 作用有: ①定义 ...

  3. [转] IIS配置文件的XML格式不正确 applicationHost.config崩溃 恢复解决办法

    IIS配置文件的XML格式不正确 applicationHost.config崩溃 恢复解决办法 源文件:http://www.cnblogs.com/yuejin/p/3385584.html   ...

  4. IIS配置文件的XML格式不正确 applicationHost.config崩溃 恢复解决办法

    当打开IIS管理器,或配置网站时提示错误:配置文件的XML格式不正确 且是applicationHost.config的问题,那么肯定是applicationHost.config被破坏,IIS就崩溃 ...

  5. iis设置默认文档,提示web.config配置xml格式不正确

    网站上传后,配置默认文档,提示web.config配置xml格式不正确,几经尝试,发现是sqlserver密码中的“&”符号惹的祸,web.config文件中不能使用该字符.分享出来,大家遇到 ...

  6. JS验证邮箱格式是否正确的代码

    验证邮箱格式是否正确的方法有很多,接下来为大家介绍下使用js是如何做到的 复制代码代码如下: /*  *验证邮箱格式是否正确  *参数strEmail,需要验证的邮箱  */ www.jbxue.co ...

  7. Android 使用正则表达式验证邮箱格式是否正确

    /** * 验证邮箱格式是否正确 */ public boolean emailValidation(String email) { String regex = "\\w+([-+.]\\ ...

  8. JS验证邮箱格式是否正确 实例代码

    如何用js验证邮箱格式是否正确?分享一个例子.代码: /* *验证邮箱格式是否正确 *参数strEmail,需要验证的邮箱 */ function chkEmail(strEmail) { if (! ...

  9. WebService,ASMX文件使用XML格式数据传递参数、验证与获取XML格式返回值的一种方式

    1:首先WebService方法定义,每个方法定义两个参数,一个用于验证权限,string格式的XML文本用于传输数据.最终目的实现,WebService方法,验证权限,获取XML数据,处理之后返回X ...

随机推荐

  1. w3c盒子模型与ie盒子模型

    盒子模型是css的专有名词,用来描述页面设置中的各种属性,如内容(content).填充(padding).边框(border).边界(margin),由于这些属性拼在一起,与日常生活中的“盒子”很相 ...

  2. Creating SharePoint 2010 Event Receivers in Visual Studio 2010

    转:http://msdn.microsoft.com/en-us/library/gg252010(v=office.14).aspx Summary:  Learn how to create a ...

  3. 9月5日 华为2014校园招聘的机试题目_C语言版答案

    手有些生了. 题目: 通过键盘输入一串小写字母(a~z)组成的字符串.请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串.压缩规则:1.仅压缩连续重复出现的字符.比如 ...

  4. HDU 4539 郑厂长系列故事——排兵布阵

    http://acm.hdu.edu.cn/showproblem.php?pid=4539 郑厂长系列故事——排兵布阵 Time Limit: 10000/5000 MS (Java/Others) ...

  5. AppServ的安装与配置

    AppServ是一个软件集合,包括Apache(HTTP服务器软件).PHP(网页程序设计语言).MySQL(数据库管理系统软件).phpMyAdmin(图形界面的数据库管理软件)四个组成部分.App ...

  6. npm + webpack +react

    踏上征途 在开始之前,你需要把你的 Node.js 和 NPM 都更新到最新的版本.访问 nodejs.org 查看安装详情.我们将会使用 NPM 安装一些工具. 开始使用 Webpack 非常简单, ...

  7. 微信web调试工具

    做微信公众号开发的时候,最头疼的一件事,莫过于bug调试了. 由于有些功能涉及到权限问题,必须在微信公众号内打开,所以对开发人员来说就是遇到了一场噩梦. 这里有两种方法: 1.工具:mac.使用微信m ...

  8. CentsOS7 网络自动启动

    虚拟机中安装完成CentOS7后,网络总是需要手工启动才可使用,设置为自动连接的方式如下: cd /etc/sysconfig/network-scripts/ls #找到类似的文件:ifcfg-et ...

  9. CreateThread函数&amp;&amp;CString::GetBuffer函数

    对这个两个常见的windows下的函数学习了一下: //最简单的创建多线程实例 #include <stdio.h> #include <windows.h> //子线程函数 ...

  10. 恒天云单节点部署指南--OpenStack H版本虚拟机单节点部署解决方案

    本帖是openstack单节点在虚拟机上部署的实践.想要玩玩和学习openstack的小伙伴都看过来,尤其是那些部署openstack失败的小伙伴.本帖可以让你先领略一下openstack的魅力.本I ...