有没有办法在PHP中对XML流进行XSD验证

问题描述:

假设我希望能够验证50GB + XML文件符合给定的XSD。我可以使用有没有办法在PHP中对XML流进行XSD验证

DOMDocument::load & DOMDocument::schemaValidate 

但这将需要所有的时间加载,并通常会耗尽我所有的可用内存。有没有办法将XSD提供给SAX或任何其他类型的流处理器,并验证一切正常?

您可以使用的XMLReader:

$reader = new XMLReader(); 
$reader->open('xmlfile.xml'); 
$reader->setSchema('schemafile.xsd'); 
while($reader->read()); 
$reader->close();