【发布时间】:2011-04-16 10:03:29
【问题描述】:
我尝试针对 XSD 验证 XML。我找到了几种方法来做到这一点。这两个很好地编写了所有错误,那么每个错误的用途是什么?
XmlDocument 和 XmlSchema 类
XmlDocument document = new XmlDocument();
document.Load(xmlFilePath);
document.Schemas.Add(@namespace,schemaFilePath);
document.Validate(ValidationHandler);
-----
public void ValidationHandler(object sender, ValidationEventArgs e)
{
Console.WriteLine(e.Message);
}
XmlReaderSettings 类
在这里我可以进行一些设置,并在 Load() 执行时进行验证。
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationEventHandler += new ValidationEventHandler(ValidationHandler);
settings.Schemas.Add(@namespace, schemaFilePath));
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create(xmlFilePath, settings);
document.Load(reader);
reader.Close();
-----
public void ValidationHandler(object sender, ValidationEventArgs e)
{
Console.WriteLine(e.Message);
}
【问题讨论】:
标签: .net xsd xml-validation