Глядя, чтобы вернуть полный xpath из общего xpath, который может захватить несколько результатов.Perl XML lib get full xpath
Строка поиска будет что-то общее, как это: /myXmlPath/@ MyValue
Содержащийся узлы XML может выглядеть следующим образом:
<myXmlPath someAttribute="false" myValue="">
<myXmlPath someAttribute="true" myValue="">
Perl код что-то вроде этого:
use XML::LibXML;
use XML::XPath::XMLParser;
my $filepath = "c:\\temp\\myfile.xml";
my $parser = XML::LibXML->new();
$parser->keep_blanks(0);
my $doc = $parser->parse_file($filepath);
@myWarn = ('/myXmlPath/@myValue');
foreach(@myWarn) {
my $nodeset = $doc->findnodes($_);
foreach my $node ($nodeset->get_nodelist) {
my $value = $node->to_literal;
print $_,"\n";
print $value," - value \n";
print $node," - node \n";
}
}
Я хотел бы иметь возможность оценить возвращаемые значения полного пути из xml. Этот код отлично работает, когда я использую его для поиска общих вещей в xpath, но был бы более идеален, если бы мог получить другие данные из результата набора узлов.
Я не совсем понимаю, что вы хотите. Не могли бы вы включить нужный результат? Но во-первых, вы могли бы исправить свой пример, чтобы он был корректным XML? (То, что вы предоставили, имеет несколько корневых узлов и незакрытых элементов.) – ikegami