这些XML验证方法之间的区别是什么?

| 我尝试针对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);
}
    
已邀请:
区别在于
XmlReader
XmlDocument
类。 “ 2”流式传输XML并一次读取一个节点。另一方面,
XmlDocument
将整个XML读取到内存中并进行处理。因此,generally3通常更易于使用,但不适用于大文件。 就验证而言,这些类似乎是可比较的,因此,如果您希望使用大文件或内存消耗低很重要,则选择一种更易于使用的类(大约3英镑),或者选择2英镑。 另外,要使用
XmlReader
进行验证,您无需像使用
XmlDocument.Load()
那样使用,, 11之类的东西就足够了。     

要回复问题请先登录注册