来自http://metacpan.org/pod/XML::LibXML::Node:
find 使用当前节点作为表达式的上下文来计算 XPath 1.0 表达式,并根据 XPath 表达式的结果类型返回结果。例如,XPath "1 * 3 + 52" 会返回一个 XML::LibXML::Number 对象。其他表达式可能返回 XML::LibXML::Boolean 对象或 XML::LibXML::Literal 对象(字符串)。
我想在我的示例中 find 返回一个 XML::LibXML::Literal 对象(一个字符串)。有人可以向我展示 find 返回 XML::LibXML::Number 对象的示例吗?XML::LibXML::Boolean 对象?
#!/usr/bin/env perl
use warnings; use strict;
use 5.012;
use XML::LibXML;
my $xml_string =<<EOF;
<?xml version="1.0" encoding="UTF-8"?>
<filesystem>
<path>
<dirname>/var</dirname>
<files>
<action>delete</action>
<age units="days">10</age>
</files>
<files>
<action>delete</action>
<age units="hours">96</age>
</files>
</path>
</filesystem>
EOF
#/
my $doc = XML::LibXML->load_xml( string => $xml_string );
my $root = $doc->documentElement;
say $root->find( '//files[1]/action' );
输出
删除