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


    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.                     }  
  • 相关阅读:
    大数据方向招人难啊!!
    .netcore 急速接入第三方登录,不看后悔
    T-SQL——函数——时间操作函数
    T-SQL——关于XML类型
    机器学习方法
    可读性友好的JavaScript:两个专家的故事
    快速了解 JavaScript ES2019 的五个新增特性
    了解 Vue 的 Compsition API
    使用 JavaScript 操作浏览器历史记录 API
    JavaScript ES 模块:现代化前端编程必备技能
  • 原文地址:https://www.cnblogs.com/gc2013/p/3849129.html
Copyright © 2020-2023  润新知