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