PHP | DOMElement setAttributeNS() Function
The DOMElement::setAttributeNS() function is an inbuilt function in PHP which is used to set an attribute with given namespace and name to the given value. If the attribute does not exist, it will be created.
Syntax:
void DOMElement::setAttributeNS( string $namespaceURI,
string $qualifiedName, string $value )
Parameters: This function accepts three parameters as mentioned above and described below:
- $namespaceURI: It specifies the namespace URI.
- $qualifiedName: It specifies the name of attribute.
- $value: It specifies the value of attribute.
Return Value: This function returns nothing.
Exceptions: This function throws DOM_NO_MODIFICATION_ALLOWED_ERR, if the node is readonly or DOM_NAMESPACE_ERR, if $qualifiedName is a malformed qualified name, or if $qualifiedName has a prefix and namespaceURI is NULL.
Below examples illustrate the DOMElement::setAttributeNS() function in PHP:
Example 1:
<?php
$dom = new DOMDocument();
$node = $dom ->createElementNS( "my_namespace" , "x:p" ,
'Hello, this is my paragraph.' );
$newnode = $dom ->appendChild( $node );
$newnode ->setAttributeNS( "my_namespace" , "id" , "my_value" );
echo $dom ->saveXML();
?>
|
Output: You can press Ctrl + U to see the DOM.
Example 2:
<?php
$dom = new DOMDocument();
$node = $dom ->createElementNS( "my_namespace" , "x:p" ,
'Hello, this is my paragraph.' );
$newnode = $dom ->appendChild( $node );
echo "Before the addition of attributes: <br>" ;
$attributeCount = $node ->attributes-> count ();
echo 'No of attributes => ' . $attributeCount ;
$newnode ->setAttributeNS( "my_namespace" , "style" , "color:blue" );
echo "<br>After the addition of attributes: <br>" ;
$attributeCount = $node ->attributes-> count ();
echo 'No of attributes => ' . $attributeCount ;
?>
|
Output:
Before the addition of attributes:
No of attributes => 0
After the addition of attributes:
No of attributes => 1
Reference: https://www.php.net/manual/en/domelement.setattributens.php
Last Updated :
26 Feb, 2020
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...