我有一個xml模式。我想填充一個DataSet並使用這個模式來驗證它。從XML模式進行C#數據集驗證
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);
通常,讀取XML Schema會爲dataSet,表結構等設置權限。它然後生活驗證自己。您不會被允許添加任何不符合架構的內容,因此如果架構設置正確,則驗證表是自動假設。 – Nevyn 2013-04-08 13:33:02