Wednesday, October 22, 2025
HomeLanguagesPHP | XMLReader setParserProperty() Function

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: 
 

  • $property: It specifies an integer corresponding to one of Parser Option constants as given below: 
    • XMLReader::LOADDTD (1) This will load DTD but does not validate.
    • XMLReader::DEFAULTATTRS (2) This will load DTD and default attributes but does not validate.
    • XMLReader::VALIDATE (3) This will load DTD and validate while parsing.
    • XMLReader::SUBST_ENTITIES (4) This will substitute entities and expand references.
  • $value: It specifies whether to enable or disable the property.

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

  • data.xml 
     

html




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


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


  •  
  • Output: 
     
Property is set.

Program 2: 
 

  • data.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>neveropen</heading>
  <body>Web Portal for Geeks</body>
</html>


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


  •  
  • Output: 
     
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
 

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS