欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-14 18:15:38
本文实例讲述了c#使用xsd文件验证xml格式是否正确的实现方法。分享给大家供大家参考,具体如下: //创建xmldocument xmldocument do...

本文实例讲述了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#程序设计有所帮助。