CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 181

181

Chương 5: XML

public bool ValidateXml(string xmlFilename, string schemaFilename) {

// Tạo validator.

XmlTextReader r = new XmlTextReader(xmlFilename);

XmlValidatingReader validator = new XmlValidatingReader(r);

validator.ValidationType = ValidationType.Schema;

// Nạp Schema vào validator.

XmlSchemaCollection schemas = new XmlSchemaCollection();

schemas.Add(null, schemaFilename);

validator.Schemas.Add(schemas);

// Thiết lập phương thức thụ lý sự kiện validation.

validator.ValidationEventHandler +=

new ValidationEventHandler(ValidationEventHandler);

failed = false;

try {

// Đọc tất cả dữ liệu XML.

while (validator.Read())

{}

}catch (XmlException err) {

// Điều này xảy ra khi tài liệu XML có chứa ký tự bất

// hợp lệ hoặc các thẻ lồng nhau hay đóng không đúng.

Console.WriteLine("A critical XML error has occurred.");

Console.WriteLine(err.Message);

failed = true;

}finally {

validator.Close();

}

return !failed;

}

private void ValidationEventHandler(object sender,

ValidationEventArgs args) {