尋找從一般xpath返回可能抓取多個結果的完整xpath。Perl XML lib獲取完整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