C#使用xsd文件验证XML格式是否正确的实现方法
本文实例讲述了C#使用xsd文件验证XML格式是否正确的实现方法。分享给大家供大家参考,具体如下:
//创建xmlDocument XmlDocumentdoc=newXmlDocument(); //创建声明段如<?xmlversion="1.0"encoding="utf-8"?> doc.AppendChild(doc.CreateXmlDeclaration("1.0","utf-8",null)); //创建一个根节点KYTResults XmlElementresults=doc.CreateElement("KYTResults"); //创建ResultsStatus XmlNoderesultsStatus=doc.CreateElement("ResultsStatus"); //创建Level XmlElementelement=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); stringpath=Server.MapPath("/ws/xsd/ReceiveReturn.xsd"); //验证xml格式是否正确通过xsd验证 stringerror=""; //声明XmlSchema XmlSchemaSetschemas=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; //验证xml doc.Validate(eventHandler); //检查是否有异常如果格式不正确就抛出来 if(!"".Equals(error)) { thrownewException(error); }
PS:这里再为大家提供几款比较实用的xml相关在线工具供大家使用:
在线XML格式化/压缩工具:
http://tools.jb51.net/code/xmlformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《C#程序设计之线程使用技巧总结》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》
希望本文所述对大家C#程序设计有所帮助。