• 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);  
                        }  
    

      

  • 相关阅读:
    测试软件—禅道BUG管理工具
    C语言 线性表的操作~(未完)
    数据库考纲~
    圣杯布局和双飞翼布局总局
    总结布局用法
    springboot~入门第三篇~与mybatis整合~(未完)
    微信小程序里 wx:for和wx:for-item区别(补充下wx:key)
    对比下小程序语法和Vue语法异同
    视频转换 rtsp 流 转rtmp流播放(待完善)
    Vue钩子函数~
  • 原文地址:https://www.cnblogs.com/goody9807/p/3359527.html
Copyright © 2020-2023  润新知