Есть ли способ сделать проверку XSD потока XML в PHP
-
05-07-2019 - |
Вопрос
Допустим, я хочу иметь возможность проверить, что XML-файл размером более 50 ГБ соответствует заданному XSD. Я мог бы использовать
DOMDocument::load & DOMDocument::schemaValidate
но это займет все время при загрузке и вообще исчерпает всю доступную для меня память. Есть ли способ передать XSD в SAX или любой другой тип потокового процессора и убедиться, что все в порядке?
Решение
Вы можете использовать XMLReader:
$reader = new XMLReader();
$reader->open('xmlfile.xml');
$reader->setSchema('schemafile.xsd');
while($reader->read());
$reader->close();
Не связан с StackOverflow