有没有办法在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();