zoukankan      html  css  js  c++  java
  • C# 使用xsd文件验证XML 格式是否正确

    //创建xmlDocument  
                XmlDocument doc = new XmlDocument();  
      
    //创建声明段 如<?xml version="1.0" encoding="utf-8" ?>   
                    doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", null));  
                    //创建一个根节点 KYTResults  
                    XmlElement results = doc.CreateElement("KYTResults");  
      
                    //创建 ResultsStatus  
                    XmlNode resultsStatus = doc.CreateElement("ResultsStatus");  
                    //创建Level  
                    XmlElement element = doc.CreateElement("Level");  
                    element.InnerText = status ? "0" : "1";  
                    resultsStatus.AppendChild(element);  
                    //创建Description  
                    element = doc.CreateElement("Description");  
                    element.InnerText = msg;  
                    resultsStatus.AppendChild(element);  
                    //创建PassKey 如果用户登录失败 将加载空字符  
                    element = doc.CreateElement("PassKey");  
                    element.InnerText = key;  
                    resultsStatus.AppendChild(element);  
                    results.AppendChild(resultsStatus);  
                    //END 创建 ResultsStatus   
      
                    //创建 DataList  数据集合  
                    if (status)  
                    {  
                        results.AppendChild(dataList);  
                    }  
                    //END 创建一个根节点 KYTResults  
                    doc.AppendChild(results);  
      
      
                    string path = Server.MapPath("/ws/xsd/ReceiveReturn.xsd");  
      
    //验证xml格式是否正确 通过xsd验证  
                        string error = "";  
                        //声明XmlSchema  
                        XmlSchemaSet schemas = new XmlSchemaSet();  
                        schemas.Add("", XmlReader.Create(path));  
                        //声明事件处理方法  
                        ValidationEventHandler eventHandler = new ValidationEventHandler(delegate(object sender, ValidationEventArgs e) {  
                            switch (e.Severity)  
                            {  
                                case XmlSeverityType.Error:  
                                    error += e.Message;  
                                    break;  
                                case XmlSeverityType.Warning:  
                                    break;  
                            }  
                        });  
                        doc.Schemas = schemas;  
                        //验证xml  
                        doc.Validate(eventHandler);  
                        //检查是否有异常 如果格式不正确就抛出来  
                        if (!"".Equals(error))  
                        {  
                            throw new Exception(error);  
                        }  
    

      

  • 相关阅读:
    关于Android中的三级缓存
    Android中的自定义控件(二)
    Android中的自定义控件(一)
    安卓四大组件之内容提供者
    实施面试题
    实施相关资料
    短路运算符
    第二章SQL映射文件
    第一章 初始MyBatis
    周测
  • 原文地址:https://www.cnblogs.com/goody9807/p/3359527.html
Copyright © 2011-2022 走看看