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?

È stato utile?

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
scroll top