C# 使用xsd文件验证xml 格式是否正确C# 使用xsd文件验证XML 格式是否正确
核心示例代码:
C#代码//创建xmlDocumentXmlDocumentdoc=newXmlDocument();//创建声明段如<?xmlversion="1.0"encoding="utf-8"?>doc.AppendChild(doc.CreateXmlDeclaration("1.0","utf-8",null));//创建一个根节点KYTResultsXmlElementresults=doc.CreateElement("KYTResults");//创建ResultsStatusXmlNoderesultsStatus=doc.CreateElement("ResultsStatus");//创建LevelXmlElementelement=doc.CreateElement("Level");element.InnerText=status?"0":"1";resultsStatus.AppendChild(element);//创建Descriptionelement=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创建一个根节点KYTResultsdoc.AppendChild(results);stringpath=Server.MapPath("/ws/xsd/ReceiveReturn.xsd");//验证xml格式是否正确通过xsd验证stringerror="";//声明XmlSchemaXmlSchemaSetschemas=newXmlSchemaSet();schemas.Add("",XmlReader.Create(path));//声明事件处理方法ValidationEventHandlereventHandler=newValidationEventHandler(delegate(objectsender,ValidationEventArgse){switch(e.Severity){caseXmlSeverityType.Error:error+=e.Message;
break;caseXmlSeverityType.Warning:
break;}});doc.Schemas=schemas;//验证xmldoc.Validate(eventHandler);//检查是否有异常