我正在使用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}
答案 0 :(得分:1)
这不是一个完整的解决方案,但这可以帮助您达到您想要的目标。
我认为该方法可以采用ValidationEventHandler Delegate。在您的委托中,如果异常是XmlSchemaValidationException,则可以访问XML节点。如果是,则可以使用XmlSchemaValidationException.SourceObject属性来检索无效的xml节点。