• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#中的String与string发布时间:2022-07-10
下一篇:
C#启动外部程序的几种方法发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap