У меня есть простой XML без пространства имен.
Я использую XML :: LibXML :: Reader для анализа XML.Когда я получаю соответствующий Элемент, я заканчиваю поиск.Как я понимаю, этот элемент имеет тип XML :: LibXML :: Element.(У меня есть определенные ограничения для продолжения работы с XML :: LibXML :: Reader)
Когда я пытаюсь использовать findnodes с xpath, это не работает.Вот код
my $libXMLPattern = XML::LibXML::Pattern->new('widget');
my $element;
my $reader = XML::LibXML::Reader->new(string => $xml);
$reader->nextElement();
while ($reader->nextPatternMatch($libXMLPattern))
{
next if ($reader->nodeType == XML_READER_TYPE_END_ELEMENT);
$element = $reader->copyCurrentNode(1);
last;
}
$reader->finish();
my $xPathExp = '//component';
my @nodes = $element->findnodes ($xPathExp);
Вот код XML
<widget name="a" type="b">
<component type="C">
<component type="ca"/>
<component type="cb"/>
</component>
</widget>
<window>
...
</window>
Пожалуйста, помогите мне, что я не так делаю?