Esiste un modo per eseguire la convalida XSD di un flusso XML in PHP
-
05-07-2019 - |
Domanda
Diciamo che voglio essere in grado di convalidare che un file XML da 50 GB + è conforme a un determinato XSD. Potrei usare
DOMDocument::load & DOMDocument::schemaValidate
ma ci vorrà tutto il tempo per il caricamento e generalmente esaurirà tutta la memoria disponibile per me. Esiste un modo per alimentare un XSD a un SAX o qualsiasi altro tipo di processore di flusso e verificare che tutto vada bene?
Soluzione
Puoi usare XMLReader:
$reader = new XMLReader();
$reader->open('xmlfile.xml');
$reader->setSchema('schemafile.xsd');
while($reader->read());
$reader->close();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow