これは、XML を検証する最善の方法についてアドバイスを求める技術的な問題ではなく、むしろ質問です。
着信 Xml 要求を受け入れる C# で記述された Web サービスがあります。
現在、受信 Xml を XSD スキーマに対して検証しています。これは問題なく動作し、エラーをキャプチャして適切なメッセージで応答できます。
さらに、すべてのプロパティを検証するために、オブジェクトを渡すことができる次の関数があります。
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 検証を実行する通常の方法ですか?