(PHP 8 >= 8.4.0)
Dom\Attr::rename — Changes the qualified name or namespace of an attribute
This method changes the qualified name or namespace of an attribute.
namespaceURIThe new namespace URI of the attribute.
qualifiedNameThe new qualified name of the attribute.
没有返回值。
Dom\NAMESPACE_ERR
Raised if there is an error with the namespace, as determined by
qualifiedName.
Dom\INVALID_MODIFICATION_ERRRaised if there already exists an attribute in the element with the same qualified name.
示例 #1 Dom\Attr::rename() example to change both the namespace and qualified name
This changes the qualified name of my-attr to
my-new-attr and also changes its namespace to
urn:my-ns.
<?php
$doc = Dom\XMLDocument::createFromString('<root my-attr="value"/>');
$root = $doc->documentElement;
$attribute = $root->attributes['my-attr'];
$attribute->rename('urn:my-ns', 'my-new-attr');
echo $doc->saveXml();
?>以上示例会输出:
<?xml version="1.0" encoding="UTF-8"?> <root xmlns:ns1="urn:my-ns" ns1:my-new-attr="value"/>
示例 #2 Dom\Attr::rename() example to change only the qualified name
This only changes the qualified name of my-attr
and keeps the namespace URI the same.
<?php
$doc = Dom\XMLDocument::createFromString('<root my-attr="value"/>');
$root = $doc->documentElement;
$attribute = $root->attributes['my-attr'];
$attribute->rename($attribute->namespaceURI, 'my-new-attr');
echo $doc->saveXml();
?>以上示例会输出:
<?xml version="1.0" encoding="UTF-8"?> <root my-new-attr="value"/>
注意:
It is sometimes necessary to change the qualified name and namespace URI together in one step to not break any namespace rules.