我有一个PLIST,转换成XML时会有这样的片段;
<dict>
<key>application-identifier</key>
<string>com.something.application</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>random.*</string>
</array>
</dict>
我正在使用perl XML :: XPath来读取它并且可以轻松地使用应用程序标识符;
my $app_id = $xp->findvalue('//key[text()="application-identifier"]/following-sibling::*[1]');
但我一直在阅读get-task-allow的值。例如,这似乎不起作用;
my $gettask = $xp->findvalue('//key[text()="get-task-allow"]/following-sibling::*[1]');
任何人都可以协助使用正确的XPath搜索表达式来读取&lt; false /&gt;这是我希望读取get-task-allow键的值吗?
答案 0 :(得分:2)
您想要一个节点
my ($gettask) = $xp->findnodes(
'//key[text()="get-task-allow"]/following-sibling::*[1]');
say $gettask->nodeName();
答案 1 :(得分:1)
啊哈......所以以下至少告诉我我在正确的地方;
$xp->findnodes_as_string('//key[text()="get-task-allow"]/following-sibling::*[1];