PHP | Función XMLReader isValid()

La función XMLReader::isValid() es una función incorporada en PHP que se utiliza para verificar si el documento que se analiza es válido o no. Un XML es válido si está escrito siguiendo una DTD (Definición de tipo de documento) que define todos los elementos permitidos y la estructura de los elementos.

Sintaxis:

bool XMLReader::isValid( void )

Parámetros: Esta función no acepta ningún parámetro.

Valor de retorno: esta función devuelve VERDADERO en caso de éxito o FALSO en caso de error.

Los programas dados a continuación ilustran la función XMLReader::isValid() en PHP:

Programa 1:
Nombre de archivo: data.xml

<?xml version="1.0"?>
<!-- DTD rules to be followed by XML-->
<!DOCTYPE html [
<!ELEMENT html (h1, p, heading, body)>
<!ELEMENT h1 (#PCDATA)>
<!ELEMENT p (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
  
<!-- XML starts from here -->
<html>
<h1>Hi</h1>
<p>World</p>
<heading>GeeksforGeeks</heading>
<body>Web Portal for Geeks</body>
</html>

Nombre de archivo: index.php

<?php
  
// Create a new XMLReader instance
$XMLReader = new XMLReader();
  
// Open the XML file
$XMLReader->open('data.xml');
  
// Enable the Parser Property
$XMLReader->setParserProperty(
       XMLReader::VALIDATE, true);
  
// Iterate through the XML nodes
while ($XMLReader->read()) {
    if ($XMLReader->nodeType == XMLREADER::ELEMENT) {
  
        // Check if XML is valid or not
        $isValid = $XMLReader->isValid();
        if ($isValid) {
            echo "YES ! this node is validated<br>";
        }
    }
}
?>

Producción:

YES ! this node is validated
YES ! this node is validated
YES ! this node is validated
YES ! this node is validated
YES ! this node is validated

Programa 2:
Nombre de archivo: data.xml

<?xml version="1.0"?>
<!-- DTD rules to be followed by XML-->
<!DOCTYPE html [
<!ELEMENT html (heading, body)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<!-- XML starts from here -->
<html>
<body>Web Portal for Geeks</body>
</html>

Nombre de archivo: index.php

<?php
  
// Create a new XMLReader instance
$XMLReader = new XMLReader();
  
// Open the XML file
$XMLReader->open('data.xml');
  
// Enable the Parser Property
$XMLReader->setParserProperty(
         XMLReader::VALIDATE, true);
  
// Iterate through the XML nodes
while ($XMLReader->read()) {
    if ($XMLReader->nodeType == XMLREADER::ELEMENT) {
  
        // Check if XML is valid or not
        $isValid = $XMLReader->isValid();
        if (!$isValid) {
            echo "No ! this node is not validated<br>";
        }
    }
}
?>

Producción:

No ! this node is not validated
No ! this node is not validated

Referencia: https://www.php.net/manual/en/xmlreader.isvalid.php

Publicación traducida automáticamente

Artículo escrito por gurrrung y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *