Skip to content
Related Articles

Related Articles

Improve Article

PHP | DOMElement setAttributeNodeNS() Function

  • Last Updated : 26 Feb, 2020
Geek Week

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 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
  
// 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
  
// 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 :