Existe uma maneira de fazer a validação XSD de um fluxo de XML em PHP
-
05-07-2019 - |
Pergunta
Vamos dizer que eu quero ser capaz de validar que um 50GB + conforma arquivo XML para um determinado XSD. Eu poderia usar
DOMDocument::load & DOMDocument::schemaValidate
mas que terá todo o tempo no carregamento e geralmente esgotar toda a memória disponível para mim. Existe alguma maneira para alimentar um XSD a um SAX ou qualquer outro tipo de processador de fluxo e tê-lo verificar que tudo está bem?
Solução
Você pode usar XMLReader:
$reader = new XMLReader();
$reader->open('xmlfile.xml');
$reader->setSchema('schemafile.xsd');
while($reader->read());
$reader->close();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow