C#使用xsd文件验证XML格式是否正确的实现方法
本篇章节讲解C#使用xsd文件验证XML格式是否正确的实现方法。分享给大家供大家参考,具体如下: //创建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); } PS:这里再为大家提供几款比较实用的xml相关在线工具供大家使用: 在线XML格式化/压缩工具: 在线XML/JSON互相转换工具: XML在线压缩/格式化工具: XML代码在线格式化美化工具: 更多关于C#相关内容感兴趣的读者可查看本站专题:《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《C#程序设计之线程使用技巧总结》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》 希望本文所述对大家C#程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |