PHP | DOMElement getAttributeNodeNS() Function
Last Updated :
20 Feb, 2020
The DOMElement::getAttributeNodeNS() function is an inbuilt function in PHP which is used to get the attribute node in specific namespace with local name for the current node.
Syntax:
DOMAttr DOMElement::getAttributeNodeNS( string $namespaceURI, string $localName )
Parameters: This function accepts two parameters as mentioned above and described below:
- $namespaceURI: It specifies the namespace URI.
- $localName: It specifies the local name.
Return Value: This function returns the attribute value containing the attribute node.
Below given programs illustrate the DOMElement::getAttributeNodeNS() function in PHP:
Program 1:
<?php
$dom = new DOMDocument();
$dom ->loadXML("<?xml version=\"1.0\"?>
<body xmlns:x=\"my_namespace\">
<x:div x:attr=\"value\" > DIV 1 </x:div>
</body>");
$elements = $dom ->getElementsByTagName( 'div' );
$node = $elements [0]->getAttributeNodeNS( 'my_namespace' , 'attr' );
$name = $node ->name;
$value = $node ->value;
echo $name . " => " . $value . "<br>" ;
?>
|
Output:
attr => value
Program 2:
<?php
$dom = new DOMDocument();
$dom ->loadXML("<?xml version=\"1.0\"?>
<root>
<body xmlns:x=\"my_namespace1\">
<x:div x:id=\"my_id1\" > DIV 1 </x:div>
<x:div x:id=\"my_id2\" > DIV 1 </x:div>
</body>
<body xmlns:xi=\"my_namespace2\">
<xi:div xi:id=\" new \" > DIV 1 </xi:div>
</body>
</root>");
$elements = $dom ->getElementsByTagName( 'div' );
foreach ( $elements as $element ) {
$node = $element ->getAttributeNodeNS( 'my_namespace1' , 'id' );
if ( $node ) {
$name = $node ->name;
$value = $node ->value;
echo $name . " => " . $value . "<br>" ;
}
}
?>
|
Output:
id => my_id1
id => my_id2
Reference: https://www.php.net/manual/en/domelement.getattributenodens.php
Share your thoughts in the comments
Please Login to comment...