perl-XML-LibXML / t / 15nodelist.t

use strict;
use warnings;

use Test;
BEGIN { plan tests => 11 }
use XML::LibXML;
use IO::Handle;
ok(1);

my $dom = XML::LibXML->new->parse_fh(*DATA);
ok($dom);

my @nodelist = $dom->findnodes('//BBB');
ok(scalar(@nodelist), 5);

my $nodelist = $dom->findnodes('//BBB');
ok($nodelist->size, 5);

ok($nodelist->string_value, "OK"); # first node in set

ok($nodelist->to_literal, "OKNOT OK");

ok($dom->findvalue("//BBB"), "OKNOT OK");

ok(ref($dom->find("1 and 2")), "XML::LibXML::Boolean");

ok(ref($dom->find("'Hello World'")), "XML::LibXML::Literal");

ok(ref($dom->find("32 + 13")), "XML::LibXML::Number");

ok(ref($dom->find("//CCC")), "XML::LibXML::NodeList");

__DATA__
<AAA>
<BBB>OK</BBB>
<CCC/>
<BBB/>
<DDD><BBB/></DDD>
<CCC><DDD><BBB/><BBB>NOT OK</BBB></DDD></CCC>
</AAA>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.