Friday, September 5, 2025
HomeLanguagesPHP | SimpleXMLElement attributes() Function

PHP | SimpleXMLElement attributes() Function

Pre-requisite: Read XML Basics
The 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>
        neveropen
    </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 value
foreach($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">
        neveropen
    </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 attribute
foreach($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 => neveropen 
     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

RELATED ARTICLES

Most Popular

Dominic
32267 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6635 POSTS0 COMMENTS
Nicole Veronica
11801 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11865 POSTS0 COMMENTS
Shaida Kate Naidoo
6752 POSTS0 COMMENTS
Ted Musemwa
7026 POSTS0 COMMENTS
Thapelo Manthata
6703 POSTS0 COMMENTS
Umr Jansen
6720 POSTS0 COMMENTS