PHP | DOMElement setAttributeNodeNS() Function

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", "zambiatek"); // 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: 
php
<?php// Create a new DOMDocument$dom = new DOMDocument(); // Load the XML$dom->loadXML("<?xml version=\"1.0\"?><root> <html> <h1 id=\"my_id\"> Geeksforzambiatek </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



