Open In App

PHP | SimpleXMLElement::getName() Function

Improve
Improve
Like Article
Like
Save
Share
Report

Pre-requisite: Read XML basics
The SimpleXMLElement::getName() function is an inbuilt function in PHP which returns the name of the xml element.
Syntax: 
 

string SimpleXMLElement::getName( void )

Parameter: This function does not accept any parameter.
Return Value: It returns a string which represents the name of XML element of a SimpleXMLElement object.
Note: This function is available on PHP 5.1.3 and newer version.
Below programs illustrate the SimpleXMLElement::getName() function in PHP:
Example 1: 
 

php




<?php
 
// Loading XML document to $user
$user = <<<XML
<user>
    <username>Geeks123 </username>
    <name>GeeksforGeeks</name>
    <phone>+91-XXXXXXXXXX</phone>
    <detail font-color="blue" font-size="24px">
        Noide India
    </detail>
</user>
XML;
 
// Loading string as simple xml object
$xml = simplexml_load_string($user);
 
// Display the name of element
echo "Base tag name: " . $xml->getName() . "<br>";
 
foreach($xml->children() as $child) {
    echo "child node: " . $child->getName()
        . " = " . $child . "</br>";
}
 
?>


Output: 
 

Example 2: 
 

php




<?php
 
// Loading XML document to $user
$user = <<<XML
<user>
    <username>Geeks123</username>
    <name>GeeksforGeeks</name>
    <phone>+91-XXXXXXXXXX</phone>
    <detail font-color="blue" font-size="24px">
        Computer science portal
    </detail>
    <address>
        <city>Noida</city>
        <country>India</country>
    </address>
</user>
XML;
 
// Loading string as simple xml object
$xml = simplexml_load_string($user);
 
// Recursive function called
getname_rec($xml, 0);
  
// The getname_rec() function definition
function getname_rec($xml, $depth) {
     
    print_space($depth);
     
    echo "tag name: " . $xml->getName() . "<br>";
     
    foreach($xml->children() as $child) {
        if($child->count() > 0) {
             
            // If there exists any child of current node
            getname_rec($child, $depth+1);
        }
        else {
             
            // If there is no child of the current node
            print_space($depth);
            echo " child node: " . $child->getName()
                    . " = " . $child . "</br>";
        }
    }
}
 
// Function to print 3X$i number of spaces
function print_space($i) {
    for($x = 0; $x < $i*3; $x++) {
        echo " ";
    }
}
 
?>


Output: 
 

Reference:https://www.php.net/manual/en/simplexmlelement.getname.php
 



Last Updated : 02 Jul, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads