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#程序设计有所帮助。