【问题标题】:C# validate XML file using XSD fileC# 使用 XSD 文件验证 XML 文件
【发布时间】:2015-07-03 21:45:49
【问题描述】:

I have a XML file - 它由解析器 hereI have a XSD file 生成。关键是使用 XSD 文件(来自特定路径)验证 XML 文件(来自特定路径),并在验证与否时返回标志。我看到的大部分代码都没有使用 XSD 文件进行验证。有没有可能使用 XSD file 验证 XML 文件的方法?

【问题讨论】:

  • 好的,没有targetNamespace怎么办?

标签: c# xml validation xsd


【解决方案1】:

一些代码:

XmlDocument doc = new XmlDocument() ;
doc.load(xmlFileName) ;
doc.Schemas.Add("",xsdFileName);
doc.Schemas.Compile();
TheSchemaErrors   = new List<string>() ;
TheSchemaWarnings = new List<string>() ;
doc.Validate(Xml_ValidationEventHandler);
if (TheSchemaErrors  .Count>0) { // display errors  }
if (TheSchemaWarnings.Count>0) { // display warnings  }
...
private List<string> TheSchemaErrors ;
private List<string> TheSchemaWarnings ;

private void Xml_ValidationEventHandler(object sender,ValidationEventArgs e)
{
  switch (e.Severity)
  {
    case XmlSeverityType.Error   : TheSchemaErrors  .Add(e.Message) ; break;
    case XmlSeverityType.Warning : TheSchemaWarnings.Add(e.Message) ; break;
  }
}

【讨论】:

  • 这不是一个好的答案,因为您只是做了一个代码转储,没有任何解释发生了什么。您至少可以注释代码并提及相关类。
  • 谢谢!这就是我一直在寻找的几个小时
  • @Reticulated Spline:您的评论通常是正确的。但是在这种情况下,代码是不言自明的:我提取了我的一个应用程序的一些代码并将其重构为可读。如果需要对此代码的任何部分进行澄清,论坛中的很多人都可以回复。
猜你喜欢
  • 2011-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-04
  • 2016-05-20
  • 2010-09-26
  • 1970-01-01
  • 2011-10-03
相关资源
最近更新 更多