2011-08-26 13 views
5

Pracuję z XML::LibXML w Perlu.XML :: LibXML - wykrywanie, czy dwa elementy są takie same?

Powiedz, że mam dwie referencje $element zdobyte przez różne (nieprzejrzyste) zapytania XPath.

(W jaki sposób) można określić, czy dwa ref. $element (węzeł) są tym samym elementem w drzewie dokumentu?

Porównywanie $el1 == $el2 nie zawsze działa tak daleko, jak mogłem powiedzieć.

+1

Warto wspomnieć, że '==' nie zawsze działa. Jest to porównanie numeryczne i jeśli chodzi o "ack", nie ma przeciążenia operatora w bibliotece, aby sprawdzić równość obiektu. Wydaje się, że działa b/c łańcuchy traktowane są jako '0' w perlu w kontekście numerycznym, np .:' perl -le 'drukuje "OK" jeśli "to" == "to" "-> OK – Ashley

Odpowiedz

5

Jest w dokumentacji XML::LibXML::Node:


isSameNode

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

powraca TRUE (1) jeśli podane węzły znajdują się w tej samej strukturze węzła inaczej FALSE (0) jest zwracana.

Powiązane problemy