首页 > 学院 > 开发设计 > 正文

C# 使用xsd文件验证XML 格式是否正确

2019-11-17 03:01:45
字体:
来源:转载
供稿:网友
C# 使用xsd文件验证xml 格式是否正确

C# 使用xsd文件验证XML 格式是否正确

核心示例代码:

C#代码收藏代码
  1. //创建xmlDocument
  2. XmlDocumentdoc=newXmlDocument();
  3. //创建声明段如<?xmlversion="1.0"encoding="utf-8"?>
  4. doc.AppendChild(doc.CreateXmlDeclaration("1.0","utf-8",null));
  5. //创建一个根节点KYTResults
  6. XmlElementresults=doc.CreateElement("KYTResults");
  7. //创建ResultsStatus
  8. XmlNoderesultsStatus=doc.CreateElement("ResultsStatus");
  9. //创建Level
  10. XmlElementelement=doc.CreateElement("Level");
  11. element.InnerText=status?"0":"1";
  12. resultsStatus.AppendChild(element);
  13. //创建Description
  14. element=doc.CreateElement("Description");
  15. element.InnerText=msg;
  16. resultsStatus.AppendChild(element);
  17. //创建PassKey如果用户登录失败将加载空字符
  18. element=doc.CreateElement("PassKey");
  19. element.InnerText=key;
  20. resultsStatus.AppendChild(element);
  21. results.AppendChild(resultsStatus);
  22. //END创建ResultsStatus
  23. //创建DataList数据集合
  24. if(status)
  25. {
  26. results.AppendChild(dataList);
  27. }
  28. //END创建一个根节点KYTResults
  29. doc.AppendChild(results);
  30. stringpath=Server.MapPath("/ws/xsd/ReceiveReturn.xsd");
  31. //验证xml格式是否正确通过xsd验证
  32. stringerror="";
  33. //声明XmlSchema
  34. XmlSchemaSetschemas=newXmlSchemaSet();
  35. schemas.Add("",XmlReader.Create(path));
  36. //声明事件处理方法
  37. ValidationEventHandlereventHandler=newValidationEventHandler(delegate(objectsender,ValidationEventArgse){
  38. switch(e.Severity)
  39. {
  40. caseXmlSeverityType.Error:
  41. error+=e.Message;
  42. break;
  43. caseXmlSeverityType.Warning:
  44. break;
  45. }
  46. });
  47. doc.Schemas=schemas;
  48. //验证xml
  49. doc.Validate(eventHandler);
  50. //检查是否有异常
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表