PHP | SimpleXMLElement attributes() Function

13 Aug, 2021
Pre-requisite: Read XML BasicsThe SimpleXMLElement::attributes() function is an inbuilt function in PHP which is used to retrieve the attributes and its value from an XML tag in a SimpleXML object. 
Syntax:  
SimpleXMLElement SimpleXMLElement::attributes( $namespace, $is_prefix )
Parameter: This function accepts two parameters as mentioned above and described below:  
$namespace: It is optional parameter. It specifies the namespace for retrieved Attribute.
$is_prefix: It is boolean parameter. It is True if $namespace is a prefix and False if $namespace is URI. Its default value is False.
Return Value: It returns a SimpleXMLElement object which can be iterated over attributes of a tag of the SimpleXMLElement object. It returns null if the SimpleXMLElement Object is already an attribute not a tag.Note: This function is available on PHP 5.0.1 and newer version.Below programs illustrate the SimpleXMLElement::attributes() function in PHP:Program 1:  
php
<?php // Loading XML document to $user$user = <<<XML<user>    <username>        Geeks123    </username>         <name>        GeeksforGeeks    </name>         <phone>        +91-XXXXXXXXXX    </phone>         <address font-color="blue" font="awesome-fonts"            font-size="24px">        Noida, UP, India    </address></user>XML; // Loading string as simple xml object$xml = simplexml_load_string($user); // Print children attribute with its valueforeach($xml->address[0]->attributes() as $key => $value){    echo $key . " => " . $value . "</br>";} ?>
Output: 
font-color => blue
font => awesome-fonts
font-size => 24px
Program 2: 
php
<?php // Loading XML document to $user$user = <<<XML<user>    <username font-color="green"            font="awesome-fonts" font-size="72px">        Geeks123    </username>         <name font-color="blue" font="awesome-fonts"            font-size="36px">        GeeksforGeeks    </name>         <phone font-color="blue" type="number"            font="awesome-fonts" font-size="24px">        +91-XXXXXXXXXX    </phone>         <address font-color="blue" font="awesome-fonts"            font-size="24px">        Noida, UP, India    </address></user>XML; // Loading string as simple xml object$xml = simplexml_load_string($user); // Print children attributeforeach($xml->children() as $child) {    echo "Child name: " . $child->getName()            . " =>" . $child . "<br>";         foreach($child->attributes() as $key => $value)        echo "      parameter: "                . $key . " => " . $value . "</br>";} ?>
Output: 
Child name: username => Geeks123 
     parameter: font-color => green
     parameter: font => awesome-fonts
     parameter: font-size => 72px
Child name: name => GeeksforGeeks 
     parameter: font-color => blue
     parameter: font => awesome-fonts
     parameter: font-size => 36px
Child name: phone => +91-XXXXXXXXXX 
     parameter: font-color => blue
     parameter: type => number
     parameter: font => awesome-fonts
     parameter: font-size => 24px
Child name: address => Noida, UP, India 
     parameter: font-color => blue
     parameter: font => awesome-fonts
     parameter: font-size => 24px
Reference: https://www.php.net/manual/en/simplexmlelement.attributes.php
akshaysingh98088
PHP-function
PHP
Web Technologies
PHP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
How to convert array to string in PHP ?
PHP | Converting string to Date and DateTime
Split a comma delimited string into an array in PHP
How to get parameters from a URL string in PHP?
How to fetch data from localserver database and display on HTML table using PHP ?
Top 10 Projects For Beginners To Practice HTML and CSS Skills
Installation of Node.js on Linux
Difference between var, let and const keywords in JavaScript
How to insert spaces/tabs in text using HTML/CSS?
How to fetch data from an API in ReactJS ?