2011-08-26 18 views
5

Estoy trabajando con XML::LibXML en Perl.XML :: LibXML: ¿detecta si dos elementos son iguales?

Supongo que tengo dos $element referencias obtenidas por diferentes (opacas) consultas XPath.

(¿Cómo puedo determinar si los dos refs $element (Node) son el mismo elemento en el árbol de documentos?

Comparar $el1 == $el2 no siempre funciona tan lejos como pude ver.

+1

Vale la pena mencionar que '==' no funciona. Es una comparación numérica y, hasta donde dice 'ack', no hay sobrecarga del operador en la biblioteca para verificar la igualdad de los objetos. Puede parecer que las cadenas b/c se tratan como '0' en perl en contexto numérico, por ejemplo:' perl -le 'imprime "OK" si "this" == "that"' '-> OK – Ashley

Respuesta

5

Es en la documentación XML::LibXML::Node:


isSameNode

$bool = $node->isSameNode($other_node); 

rendimientos TRUE (1) si los nodos dados se refieren a la misma estructura de nodos, de lo contrario se devuelve FALSE (0).

Cuestiones relacionadas