Skip to content
Related Articles

Related Articles

PHP | DOMElement setAttributeNodeNS() Function

View Discussion
Improve Article
Save Article
  • Last Updated : 21 Jun, 2022
View Discussion
Improve Article
Save Article

The DOMElement::setAttributeNodeNS() function is an inbuilt function in PHP which is used to add a new attribute node to element. This is just an alternative for setAttributeNode() function. 

Syntax:

DOMAttr DOMElement::setAttributeNodeNS( DOMAttr $attr )

Parameters: This function accepts a single parameter $attr which holds the attribute to be added. 

Return Value: This function returns the old node if the attribute has been replaced. 

Exceptions: This function throws DOM_NO_MODIFICATION_ALLOWED_ERR, if the node is readonly. 

Below examples illustrate the DOMElement::setAttributeNodeNS() function in PHP: 

Example 1: 

php




<?php
 
// Create a new DOMDocument
$dom = new DOMDocument();
 
// Create a element with a namespace
$root = $dom->createElementNS("my_namepsace", "root");
  
// Create an element
$node = $dom->createElement("div", "GeeksforGeeks");
  
// Append the child
$dom->appendChild($root);
 
// Add the node to the dom
$newnode = $dom->appendChild($node);
 
// Create a DOMAttr instance
$attr = new DOMAttr('style', 'color: green; font-size: 100px;');
 
// Set the attribute
$newnode->setAttributeNodeNS($attr);
  
echo $dom->saveXML();
?>


Output: Example 2: 

php




<?php
 
// Create a new DOMDocument
$dom = new DOMDocument();
  
// Load the XML
$dom->loadXML("<?xml version=\"1.0\"?>
<root>
    <html>
        <h1 id=\"my_id\"> Geeksforgeeks </h1>
        <h2> Second heading </h2>
    </html>
</root>");
  
// Get the elements
$node = $dom->getElementsByTagName('h1')[0];
   
echo "Before the addition of attributes: <br>";
  
// Get the attribute count
$attributeCount = $node->attributes->count();
echo 'No of attributes => ' . $attributeCount;
   
// Create a DOMAttr instance
$attr = new DOMAttr('class', 'value');
  
// Add the new attribute
$node->setAttributeNodeNS($attr);
   
echo "<br>After the addition of attributes: <br>";
   
// Get the attribute count
$attributeCount = $node->attributes->count();
echo 'No of attributes => ' . $attributeCount;
?>


Output:

Before the addition of attributes:
No of attributes => 1
After the addition of attributes:
No of attributes => 2

Reference: https://www.php.net/manual/en/domelement.setattributenodens.php


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!