XML::LibXML - определить, совпадают ли два элемента?

Я работаю с XML::LibXML в Perl.

Скажем, у меня есть две ссылки $element, полученные разными (непрозрачными) запросами XPath.

(Как) я могу определить, являются ли две ссылки $element (узла) одним и тем же элементом в дереве документа?

Сравнение $el1 == $el2не всегда работает, насколько я могу судить.


person Martin Ba    schedule 26.08.2011    source источник
comment
Стоит отметить, что == никогда не работает. Это числовое сравнение, и, насколько говорит ack, в библиотеке нет перегрузки оператора для проверки равенства объектов. Может показаться, что это работает, потому что строки в Perl обрабатываются как 0 в числовом контексте, например: perl -le 'print "OK" if "this" == "that"' --> OK   -  person Ashley    schedule 27.08.2011


Ответы (1)


Он находится в документации XML::LibXML::Node:


isSameNode

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

возвращает TRUE (1), если данные узлы ссылаются на одну и ту же структуру узлов, в противном случае возвращается FALSE (0).

person Zaid    schedule 26.08.2011