Open In App

PHP | XMLReader setParserProperty() Function

The XMLReader::setParserProperty() function is an inbuilt function in PHP which is used to set parser options. This function can be used to validate the document.
Syntax: 
 

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

Parameters: This function accepts two parameters as mentioned above and described below: 
 



Return Value: This function returns TRUE on success or FALSE on failure.
Below examples illustrate the XMLReader::setParserProperty() function in PHP:
Example 1: 
 




<?xml version="1.0" encoding="utf-8"?>
<div>
    <h1> Sample XML </h1>
</div>




<?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.';
}
?>

Property is set.

Program 2: 
 






<?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>




<?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>";
        }
    }
}
?>

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

Reference: https://www.php.net/manual/en/xmlreader.setparserproperty.php
 


Article Tags :