2009-09-09 20 views
6

Giả sử tôi muốn có thể xác thực rằng tệp XML 50GB + phù hợp với một XSD đã cho. Tôi có thể sử dụngCó cách nào để xác thực XSD luồng XML trong PHP

DOMDocument::load & DOMDocument::schemaValidate 

nhưng sẽ mất nhiều thời gian để tải và thường sẽ làm cạn kiệt tất cả bộ nhớ có sẵn cho tôi. Có cách nào để đưa một XSD vào một SAX hay bất kỳ loại trình xử lý luồng nào khác và để nó xác minh rằng tất cả là tốt?

Trả lời

8

Bạn có thể sử dụng XMLReader:

$reader = new XMLReader(); 
$reader->open('xmlfile.xml'); 
$reader->setSchema('schemafile.xsd'); 
while($reader->read()); 
$reader->close(); 
Các vấn đề liên quan