View on GitHub


Raku bindings to the libxml2 native library

[Raku LibXML Project] / [LibXML Module] / Node :: List

class LibXML::Node::List

LibXML Sibling Node Lists


use LibXML::Node::List;
my LibXML::Node::List $node-list, $att-list;

$att-list = $elem.attributes;
$node-list = $elem.childNodes;
$node-list.push: $elem;

for $node-list -> LibXML::Node $item { ... }
for ^$node-set.elems { my $item = $node-set[$_]; ... }

my LibXML::Node::Set %nodes-by-xpath-name = $node-list.Hash;
# ...


This class is used for traversing child nodes or attribute lists.

Unlike node-sets, the list is tied to the DOM and can be used to update nodes.

# replace 4th child
$node-list[3] = :content("Replacement Text");
# remove last child
my $deleted-node = $node-set.pop;
# append a new child element

Currently, the only tied methods are push, pop and ASSIGN-POS.

2001-2007, Ltd.

2002-2006, Christian Glahn.

2006-2009, Petr Pajas.


This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0