Open In App

PHP | SimpleXMLElement::getName() Function

Last Updated : 02 Jul, 2021
Comments
Improve
Suggest changes
Like Article
Like
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
 


Next Article

Similar Reads