Microsoft の xsd.exe を使用してクラス CustomerData を作成する Xml スキーマ CustomerData.xsd があります。
私のプログラムは、Xml ファイルを読み取り、XmlSerializer を使用して、次のコードを使用して CustomerData のインスタンスを取得します。
XmlSerializer serializer = new XmlSerializer(typeof(CustomerData));
TextReader textReader = new StreamReader(fileName);
CustomerData customerData = (CustomerData)serializer.Deserialize(textReader);
textReader.Close();
プログラムの実行中に customerData を変更することができ、スキーマによっては一部の値が無効になる可能性があります。
ユーザーがこのデータをファイルに保存する前に、それを検証できるようにしたいと考えています。保存する前にデータを検証するにはどうすればよいですか?
注 - 次のようなコードを使用してスキーマにアクセスできるように、スキーマを埋め込みリソースとしてコンパイルします。
Assembly myAssembly = typeof(CustomerData).Assembly;
Stream schemaStream = myAssembly.GetManifestResourceStream(schemaResourceName);
また、検証用の SchemaReader を作成する方法も知っています。
XmlReader schemaReader = XmlReader.Create(schemaStream);
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add(null, schemaReader);
settings.ValidationType = ValidationType.Schema;
私は次に何をすべきか分からない。