详解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格式是否正确的实现方法的详细内容!

相关阅读 >>

分享125个基本的C#面试问答

C#之正则表达式介绍

C#中关于manualresetevent使用方法详解

C#中backgroundworker用法的详解(图)

C#基础入门-常量详解

详解winform C#中子窗体关闭刷新父窗体的示例代码

什么是C#中的多态性?

C#怎么学

具体介绍使用C#访问access数据库时,提示找不到可安装的isam(图)

C#语言为什么用的人很少

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




打赏

取消

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

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

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

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

评论

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