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 )