函数名称:DOMNode::isEqualNode()
适用版本:所有版本的 PHP
函数说明:该函数用于比较当前节点与另一个节点是否完全相同(即节点类型、属性、子节点等均相同)。
用法示例:
$xml1 = '<root><node>Content</node></root>';
$xml2 = '<root><node>Content</node></root>';
$doc1 = new DOMDocument();
$doc1->loadXML($xml1);
$doc2 = new DOMDocument();
$doc2->loadXML($xml2);
$node1 = $doc1->getElementsByTagName('node')->item(0);
$node2 = $doc2->getElementsByTagName('node')->item(0);
if ($node1->isEqualNode($node2)) {
echo '节点相等';
} else {
echo '节点不相等';
}
在上面的示例中,我们首先创建了两个包含相同 XML 内容的 DOMDocument 对象:$doc1 和 $doc2。然后使用getElementsByTagName()方法获取节点 “node”。接下来,我们通过isEqualNode()函数比较了两个节点 $node1 和 $node2。由于这两个节点的类型、属性和子节点都完全相同,输出结果为“节点相等”。
值得注意的是,该函数只比较当前节点与另一个节点的内容,不会考虑节点所属的文档对象。如果要比较两个文档对象,请使用DOMDocument::isIdenticalNode()函数。此外,还要注意节点的顺序也会影响比较结果,如果两个节点的顺序不同,即使内容完全相同也会被认为是不相等的节点。