📅  最后修改于: 2023-12-03 15:33:32.284000             🧑  作者: Mango
在PHP中,DOMElement类是表示XML元素的标准类,它提供了各种方法来操作XML元素,其中包括setIdAttributeNode()函数。
setIdAttributeNode()函数将指定的Attr对象设置为一个元素的ID属性。如果已经设置了元素的ID属性,则该ID属性将被替换。
在DOM中,ID属性是唯一的,所以只能为元素指定一个ID属性。
语法:
public void DOMElement::setIdAttributeNode ( Attr $attr )
参数说明:
$attr
:一个 Attr 对象,代表要设置为ID属性的属性。
返回值类型:
void
$xmlStr = "<book id='book1'>
<title>PHP Dom</title>
</book>";
$doc = new DOMDocument();
$doc->loadXML($xmlStr);
$element = $doc->getElementsByTagName('book')->item(0);
$attr = $doc->createAttribute('id');
$attr->value = 'new_book';
$element->setIdAttributeNode($attr);
echo $doc->saveXML();
在这个示例中,我们首先创建一个含有ID属性的XML元素。然后,我们通过DOMDocument类加载这个XML元素,获取这个元素对象,在创建一个新的Attr对象,将其值设置为 'new_book',并通过setIdAttributeNode()函数将这个Attr对象设置为元素的ID属性。最后,我们输出修改后的XML字符串。
输出结果为:
<?xml version="1.0"?>
<book id="new_book"><title>PHP Dom</title></book>
如果要删除元素的ID属性,将Attr对象的值设置为空字符串即可。
如果要查询元素的ID属性,可以使用getAttributeNode('id')函数来获取元素的ID属性节点对象。
setIdAttribute()函数也可以用来设置元素的ID属性,但已过时,建议使用setIdAttributeNode()函数。