验证xml是否符合指定xsd

xml是常用的一种数据文件格式,它的定义文件为Xml schema definition(XSD),那么怎么验证一个xml是否符合它的schema定义呢?

成都创新互联是专业的富源网站建设公司,富源接单;提供成都网站建设、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行富源网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

本文给出C#的代码实现。

样例XML

存储在xml.xml文件中



  10
  2018-01-01
  111
  ---10--
  english
  ./news.html

样例xsd

存储在xsd.xsd文件中




  
    
      
        
          
            
              
              
              
            
          
        
        
          
            
              
            
          
        
        
          
            
              
            
          
        
        
        
        
      
    
  

完整代码

下面代码在Console Project中实现

class Program
    {
        static void Main(string[] args)
        {
            string xmlFile = "xml.xml";
            string xsdFile = "xsd.xsd";

            var exceptionMessage = string.Empty;
            VerifyXML(xsdFile, xmlFile, ref exceptionMessage);

            Console.WriteLine(exceptionMessage);
            Console.ReadKey();
        }

        private static void VerifyXML(string xsdFile, string xmlFile, ref string exceptionMessage)
        {
            XmlDocument doc = LoadXML(xmlFile);
            doc.Schemas = LoadXMLSchmeaFromXSDFile(xsdFile);

            string errorMessage = string.Empty;
            ValidationEventHandler eventHandler = new ValidationEventHandler(delegate (object sender, ValidationEventArgs e)
            {
                switch (e.Severity)
                {
                    case XmlSeverityType.Error:
                        errorMessage += e.Message;
                        break;
                    case XmlSeverityType.Warning:
                        break;
                }
            });

            doc.Validate(eventHandler);

            exceptionMessage = errorMessage;
        }

        private static XmlDocument LoadXML(string xmlFile)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(xmlFile);
            return doc;
        }

        private static XmlSchemaSet LoadXMLSchmeaFromXSDFile(string path)
        { 
            var schemas = new XmlSchemaSet();
            schemas.Add("", XmlReader.Create(path));
            return schemas;
        }
    }

新闻名称:验证xml是否符合指定xsd
网页路径:http://bzwzjz.com/article/gdcjop.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 响应式网站设计 重庆手机网站建设 成都网站制作 响应式网站建设 成都响应式网站建设 营销型网站建设 成都网站建设 成都网站建设 企业网站建设公司 成都网站设计 网站制作报价 成都企业网站制作 成都网站建设 成都网站建设 企业网站设计 成都网站制作 宜宾网站设计 手机网站建设套餐 定制网站制作 定制级高端网站建设 成都网站制作 四川成都网站制作