当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP DOMElement setAttributeNodeNS()用法及代码示例


DOMElement::setAttributeNodeNS()函数是PHP中的内置函数,用于向元素添加新的属性节点。这只是setAttributeNode()函数的替代方法。

用法:

DOMAttr DOMElement::setAttributeNodeNS( DOMAttr $attr )

参数:该函数接受单个参数$attr,该参数保存要添加的属性。


返回值:如果属性已被替换,则此函数返回旧节点。

异常:如果节点是只读的,则此函数将抛出DOM_NO_MODIFICATION_ALLOWED_ERR。

以下示例说明了PHP中的DOMElement::setAttributeNodeNS()函数:

范例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(); 
?>

输出:

范例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; 
?>

输出:

Before the addition of attributes:
No of attributes => 1
After the addition of attributes:
No of attributes => 2

参考: https://www.php.net/manual/en/domelement.setattributenodens.php



相关用法


注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | DOMElement setAttributeNodeNS() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。