2009-09-09 92 views
6

假設我希望能夠驗證50GB + XML文件符合給定的XSD。我可以使用有沒有辦法在PHP中對XML流進行XSD驗證

DOMDocument::load & DOMDocument::schemaValidate 

但這將需要所有的時間加載,並通常會耗盡我所有的可用內存。有沒有辦法將XSD提供給SAX或任何其他類型的流處理器,並驗證一切正常?

回答

8

您可以使用的XMLReader:

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