XDocument.Validate自定义验证消息

时间:2009-12-11 10:19:20

标签: c# .net xml xsd

我正在使用XDocument.Validate验证针对模式的XML文件,并获得如下所示的验证消息:

  

在   'http://www.blablah.co.uk/schemas/cbds:DOB'   元素无效 - 值   “1999-0dsf2-21”无效   到它的数据类型   'http://www.w3.org/2001/XMLSchema:date'    - 字符串'1999-0dsf2-21'不是有效的XsdDateTime值。

这看起来不太友好,我想知道是否可以以任何方式自定义此消息?如果我能提供像:

那样的标记化字符串,那就太好了
  

值{0}对于无效   元素{1}

1 个答案:

答案 0 :(得分:1)

这不是一个完整的解决方案,但这可以帮助您达到您想要的目标。

我认为该方法可以采用ValidationEventHandler Delegate。在您的委托中,如果异常是XmlSchemaValidationException,则可以访问XML节点。如果是,则可以使用XmlSchemaValidationException.SourceObject属性来检索无效的xml节点。