Validar XML com XSD em PHP

Validar XML com XSD em PHP

Como validar arquivo XML baseado em um XSD?

Abaixo vou mostrar como fazer upload de um arquivo XML e outro XSD e validar o primeiro com base no segundo.

Arquivo XML:
Arquivo XSD:

load($_FILES[‘arquivoXML’][‘tmp_name’]);

echo “Resultado: “;
if (!$objDom->schemaValidate($_FILES[‘arquivoXSD’][‘tmp_name’])) {
$arrayAllErrors = libxml_get_errors();
print_r($arrayAllErrors);
} else {
echo “XML obedece às regras definidas no arquivo XSD!”;
}
}
?>

Código:

<form method="POST" enctype="multipart/form-data">
  Arquivo XML: <input type="file" name="arquivoXML" size="20"><br/>
  Arquivo XSD: <input type="file" name="arquivoXSD" size="20"><br/>
  <input type="submit" value="Validar">
</form>

<?php

if ($_FILES['arquivoXML'] && $_FILES['arquivoXSD']) {
libxml_use_internal_errors(true);
$objDom = new DomDocument();
$objDom->load($_FILES['arquivoXML']['tmp_name']);

if (!$objDom->schemaValidate($_FILES['arquivoXSD']['tmp_name'])) {
  $arrayAllErrors = libxml_get_errors();
  print_r($arrayAllErrors);
} else {
    echo "XML obedece às regras definidas no arquivo XSD!";  
}
}
?>

Boa sorte.

10 Replies to “Validar XML com XSD em PHP”

  1. Pretty section of content. I just stumbled upon your weblog and in accession capital to assert that I acquire in fact enjoyed account your blog posts. Any way I will be subscribing to your augment and even I achievement you access consistently fast.

Deixe uma resposta

O seu endereço de e-mail não será publicado.