这更像是一个问题,而不是一个技术问题,需要关于验证 XML 的最佳方式的建议。
我有一个用 C# 编写的 Web 服务,它接受传入的 Xml 请求。
目前我正在根据我的 XSD 架构验证传入的 Xml。这很好用,我可以捕获任何错误并使用适当的消息进行响应。
此外,我有以下函数可以将我的对象传递给它,以验证所有属性;
private List<ValidationResult> Validate(object oObject)
{
var results = new List<ValidationResult>();
var context = new ValidationContext(oObject, serviceProvider: null, items: null);
Validator.TryValidateObject(oObject, context, results, false);
return results;
}
我验证了定义的元素;
[Required]
[StringLength(175)]
public string Name{ get; set; }
该函数返回找到的任何错误的字符串列表。
如果 XSD 架构和类属性在验证要求方面是同步的,我的代码似乎永远不会在函数中返回结果列表
private List<ValidationResult> Validate(object oObject)
因为 XSD 架构会阻止代码到达该点。
这是执行 XML 验证的正常方式吗?