XML-DOM-Lite
view release on metacpan or search on metacpan
lib/XML/DOM/Lite.pm view on Meta::CPAN
blessed array refs - so you can say :
foreach (@{$node->childNodes}) {
if ($_->nodeType == ELEMENT_NODE) {
# do stuff
}
}
... or ...
@cdata = map {
$_->nodeValue if $_->nodeType == TEXT_NODE
}, @{$node->childNodes};
... or for attributes :
Node lists can also behave as hashrefs using overload, so that we can:
foreach (keys %{$node->attributes}) {
# do something
}
lib/XML/DOM/Lite/Parser.pm view on Meta::CPAN
$parent->appendChild($node);
$node->ownerDocument($self->{document});
if ($type == DOCUMENT_TYPE_NODE) {
$node->{nodeName} = '#document-type';
} elsif ($type == PROCESSING_INSTRUCTION_NODE) {
$node->{nodeName} = '#processing-instruction';
} elsif ($type == TEXT_NODE) {
$node->{nodeName} = '#text';
} elsif ($type == CDATA_SECTION_NODE) {
$node->{nodeName} = '#cdata';
} elsif ($type == COMMENT_NODE) {
$node->{nodeName} = '#comment';
}
return $node;
}
sub _mk_text_node {
my ($self, $str, $parent) = @_;
$parent = $self->{stack}->[$#{$self->{stack}}] unless $parent;
( run in 0.652 second using v1.01-cache-2.11-cpan-454fe037f31 )