xmlsechema验证

               //创建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); 
                    

你可能感兴趣的:(xml)