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


本文摘自PHP中文网,作者黄舟,侵删。

这篇文章主要介绍了C#使用xsd文件验证XML格式是否正确的实现方法,结合实例形式分析了C#针对xml文件的创建、验证相关操作技巧,需要的朋友可以参考下

本文实例讲述了C#使用xsd文件验证XML格式是否正确的实现方法。分享给大家供大家参考,具体如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

//创建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);

}

以上就是详解C#使用xsd文件验证XML格式是否正确的实现方法的详细内容!

相关阅读 >>

c#中var和dynamic之间的区别是什么?

C#中的类型系统(值类型和引用类型)的简单介绍

浅谈c#中的早期绑定和后期绑定

C#中如何实现两个richtextbox控件滚动条同步滚动的方法详解

C#描述数据结构1:统计代码执行时间对象的代码详解

C#向word文档插入和隐藏段落的方法介绍

C#是什么,能做些什么?

详细介绍C#实例化接口对象的方法

C# 应用npoi获取excel中的图片,保存至本地的算法的图文代码实例详解

C#正则函数匹配、替换、提取的用法代码分享

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...