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

发布时间 - 2026-01-10 22:34:56    点击率:

本文实例讲述了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./code/xmlformat

在线XML/JSON互相转换工具:
http://tools./code/xmljson

XML在线压缩/格式化工具:
http://tools./code/xml_format_compress

XML代码在线格式化美化工具:
http://tools./code/xmlcodeformat

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《C#程序设计之线程使用技巧总结》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》

希望本文所述对大家C#程序设计有所帮助。


# C#  # xsd文件  # 验证  # XML格式  # C#中利用LINQ to XML与反射把任意类型的泛型集合转换成XML格式字符串的方法  # C#中把任意类型的泛型集合转换成SQLXML数据格式的实例  # C#实现导出List数据到xml文件的方法【附demo源码下载】  # C#实现的xml操作类完整实例  # C#实现XML与实体类之间相互转换的方法(序列化与反序列化)  # C# XML操作 代码大全(读XML  # 写XML  # 更新  # 删除节点  # 与dataset结合等)  # C#对XML文件的各种操作实现方法  # C# WinForm开发中使用XML配置文件实例  # C#对象与XMl文件之间的相互转换  # C#中XmlTextWriter读写xml文件详细介绍  # C# 写入XML文档三种方法详细介绍  # C# 操作XML文档 使用XmlDocument类方法  # C#实现XML文档的增删改查功能示例  # 程序设计  # 创建一个  # 是否正确  # 操作技巧  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 用户登录  # 不正确  # 所述  # 抛出  # 几款  # 使用技巧  # 面向对象  # 转换工具  # 再为  # 压缩工具  # 加载 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  JS经典正则表达式笔试题汇总  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  Swift中循环语句中的转移语句 break 和 continue  微信h5制作网站有哪些,免费微信H5页面制作工具?  java ZXing生成二维码及条码实例分享  ,交易猫的商品怎么发布到网站上去?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  javascript基本数据类型及类型检测常用方法小结  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何快速选择适合个人网站的云服务器配置?  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  做企业网站制作流程,企业网站制作基本流程有哪些?  如何快速搭建安全的FTP站点?  Python函数文档自动校验_规范解析【教程】  利用python获取某年中每个月的第一天和最后一天  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  如何用JavaScript实现文本编辑器_光标和选区怎么处理  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  如何在万网ECS上快速搭建专属网站?  如何在阿里云域名上完成建站全流程?  如何在香港服务器上快速搭建免备案网站?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  常州企业网站制作公司,全国继续教育网怎么登录?  java获取注册ip实例  如何快速使用云服务器搭建个人网站?  Python正则表达式进阶教程_复杂匹配与分组替换解析  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  潮流网站制作头像软件下载,适合母子的网名有哪些?  Laravel distinct去重查询_Laravel Eloquent去重方法  Python图片处理进阶教程_Pillow滤镜与图像增强  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  如何快速上传建站程序避免常见错误?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  详解MySQL数据库的安装与密码配置  黑客如何通过漏洞一步步攻陷网站服务器?  网站制作壁纸教程视频,电脑壁纸网站?  如何在云指建站中生成FTP站点?  bing浏览器学术搜索入口_bing学术文献检索地址  详解Android中Activity的四大启动模式实验简述  如何在阿里云通过域名搭建网站?