私はxmlスキーマを持っています。このスキーマを使用して DataSet にデータを入力し、検証したいと考えています。
DataSet package = new DataSet();
StringReader schemaResourceReader = new StringReader(PackageValidationLibrary.Properties.Resources.myPackage);
package.ReadXmlSchema(schemaResourceReader);
package.Tables["Table1"].Rows.Add(packageDetail.date,packageDetail.code,packageDetail.amount,packageDetail.place,"0");
package.Tables["Table2"].Rows.Add("0","0");
foreach (Cek data in recordList){
package.Tables["Table3"].Rows.Add(data.Serial, data.Code, data.Branch, data.ValidityDate, "0");
}
上記のコードを使用してデータをロードできますが、データセットがスキーマをインポートしても検証できません。
package.GetXml() メソッドを使用して xml 文字列を取得し、xml を再度リロードしようとしました。それから私は例外を得ました。
このテーブルを検証するにはどうすればよいですか? ありがとう。
編集 回答とコメントから理解しているように、データセットの入力中に検証することはできません。次に、データセットから xml を読み取り、以下の構成でロードしました。
_schema = XmlSchema.Read(new StringReader(PackageValidationLibrary.Properties.Resources.TakasPaketi), new ValidationEventHandler(ValidationEventHandler));
XmlReaderSettings _settings = new XmlReaderSettings();
_settings.Schemas.Add(_schema);
_settings.ValidationType = ValidationType.Schema;
XmlReader vreader = XmlReader.Create(stream, _settings);