软件编程
位置:首页>> 软件编程>> C#编程>> C#使用xsd文件验证XML格式是否正确的实现方法

C#使用xsd文件验证XML格式是否正确的实现方法

作者:PointNet  发布时间:2022-02-08 11:11:09 

标签: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格式化/压缩工具:
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#程序设计有所帮助。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com