PHP | Función XMLReader setParserProperty()

La función XMLReader::setParserProperty() es una función incorporada en PHP que se utiliza para configurar las opciones del analizador. Esta función se puede utilizar para validar el documento.
Sintaxis: 
 

bool XMLReader::setParserProperty( int $property, bool $value )

Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación: 
 

  • $property: especifica un número entero correspondiente a una de las constantes de la opción Parser como se indica a continuación: 
    • XMLReader::LOADDTD (1) Esto cargará DTD pero no valida.
    • XMLReader::DEFAULTATTRS (2) Esto cargará DTD y atributos predeterminados pero no valida.
    • XMLReader::VALIDATE (3) Esto cargará DTD y validará durante el análisis.
    • XMLReader::SUBST_ENTITIES (4) Esto sustituirá entidades y ampliará las referencias.
  • $value: Especifica si habilitar o deshabilitar la propiedad.

Valor de retorno: esta función devuelve VERDADERO en caso de éxito o FALSO en caso de error.
Los siguientes ejemplos ilustran la función XMLReader::setParserProperty() en PHP:
Ejemplo 1: 
 

  • datos.xml 
     

html

<?xml version="1.0" encoding="utf-8"?>
<div>
    <h1> Sample XML </h1>
</div>
  •  
  • índice.php 
     

php

<?php
 
// Create a new XMLReader instance
$XMLReader = new XMLReader();
 
// Open the XML file with sample XML
$XMLReader->open('data.xml');
 
// Set the Parser Property
$XMLReader->setParserProperty(XMLReader::VALIDATE, true);
 
// Check if XMLReader::VALIDATE is set or not
$isProperty = $XMLReader->getParserProperty(XMLReader::VALIDATE);
  
if ($isProperty) {
    echo 'Property is set.';
}
?>
  •  
  • Producción: 
     
Property is set.

Programa 2: 
 

  • datos.xml 
     

html

<?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>
  •  
  • índice.php 
     

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

Referencia: https://www.php.net/manual/en/xmlreader.setparserproperty.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 *