博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 使用xsd文件验证XML 格式是否正确
阅读量:6884 次
发布时间:2019-06-27

本文共 1492 字,大约阅读时间需要 4 分钟。

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

 

 

代码:

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

转载地址:http://uonbl.baihongyu.com/

你可能感兴趣的文章
让Windows Server 2008 R2 SP1 的“网络发现”真正能发现和被发现
查看>>
工作中 Oracle 常用数据字典集锦
查看>>
SFB 项目经验-12-为某上市企业的Skype for Business购买Godday证书
查看>>
NBU备份时常见错误代码分析及处理
查看>>
[C#基础知识]专题十三:全面解析对象集合初始化器、匿名类型和隐式类型
查看>>
大数据虚拟化零起点-2基础运维第一步-环境规划和准备
查看>>
Tomcat端口被占用解决方法(不用重启)
查看>>
双11,大小荣的不同玩法
查看>>
Jeep自由光:汽车界的iPhone6
查看>>
ASP.NET MVC 5 -从控制器访问数据模型
查看>>
万事能和一招鲜
查看>>
vSphere 6.5密码正确不能登录解决方法
查看>>
Skype for Business Server 2015-04-前端服务器-3-安装-管理工具
查看>>
mySQL 教程 第11章 索引
查看>>
从几次应聘看职业发展
查看>>
使用组策略禁止域用户运行特定程序
查看>>
2011年以来发表文章一览表
查看>>
Android切近实战(七)
查看>>
技术沟通者的自我修养
查看>>
Mysql数据库用source命令导入SQL文件
查看>>