[英]XML::LibXML: doc - root
這里第一個例子中documentElemtent
的調用是多余的嗎?
#!/usr/bin/env perl
use warnings;
use strict;
use XML::LibXML;
my $file = 'xml_file';
my $doc = XML::LibXML->load_xml( location => $file );
my $root = $doc->documentElement();
my $xpc = XML::LibXML::XPathContext->new( $root );
# ...
say $_->nodeName for $xpc->findnodes( '/' );
輸出
#document
$doc = XML::LibXML->load_xml( location => $file );
$xpc = XML::LibXML::XPathContext->new( $doc );
# ...
say $_->nodeName for $xpc->findnodes( '/' );
產出也
#document
xpc采用主題節點中定義的任何前綴,因此如果在根節點上定義了前綴,則兩者是不同的。
use warnings;
use strict;
use feature qw( say );
use XML::LibXML qw( );
my $xml = <<'__EOI__';
<root xmlns:foo="uri:xxx">
<foo:bar/>
</root>
__EOI__
my $doc = XML::LibXML->load_xml( string => $xml );
my $root = $doc->documentElement();
{
my $xpc = XML::LibXML::XPathContext->new($doc);
say "doc:";
say $_->nodeName for $xpc->findnodes('foo:bar');
}
say "";
{
my $xpc = XML::LibXML::XPathContext->new($root);
say "root:";
say $_->nodeName for $xpc->findnodes('foo:bar');
}
doc:
root:
foo:bar
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.