zoukankan      html  css  js  c++  java
  • 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.                     }  
  • 相关阅读:
    Aircrack-ng破解无线WIFI密码
    隐写术
    数据链路层协议(Ethernet、IEEE802.3、PPP、HDLC)
    OSI七层模型
    异步访问技术Ajax(XMLHttpRequest)
    XML / HTML / XHTML 的区别
    字符集与字符编码
    密码学(对称与非对称加密 哈希算法)
    渗透测试之信息收集
    OWASP-ZAP扫描器的使用
  • 原文地址:https://www.cnblogs.com/gc2013/p/3849129.html
Copyright © 2011-2022 走看看