NAME

XML::TinyXML::Node - Tinyxml Node object

SYNOPSIS

    use XML::TinyXML;
    
    # first obtain an xml context:
    $xml = XML::TinyXML->new("rootnode", "somevalue", { attr1 => v1, attr2 => v2 });
    
    # We create a node and later attach it to a parent one doing:
    $child_node = XML::TinyXML::Node->new("child", "somevalue");
    ... [ some code ] ...
    $parent_node->addChildNode($child_node);
    
    # or if we want to create a childnode in a single statemnet
    $child_node = XML::TinyXML::Node->new("child", "somevalue", $parent_node);
    
    # we can later retrive the "child" node by calling
    $child_node = $xml->getNode("/nodelabel/child");
    
    # at this point , calling :
    print $xml->dump;
    # would produce the following xml
    #
    # <?xml version="1.0"?>
    # <rootnode>
    #   <child>othervalue</child>
    # </rootnode>

DESCRIPTION

Node representation for the TinyXML API

INSTANCE VARIABLES

  • _node

    Reference to the underlying XmlNodePtr object (which is a binding to the XmlNode C structure)

METHODS

  • new ($entity, $value, $parent, %attrs)

    Creates a new XML::TinyXML::Node object.

    $entity can be either a scalar or an XmlNodePtr object. - if it's a scalar , it will be intepreted as the entity name - if it's an XmlNodePtr, it will be used as the underlying object and will be incapsulated in the newly created XML::TinyXML::Node object.

    $value is the optianal string value of the newly created node (the "content" of the xml node)

    if $parent isn't undef the newly created node will be directly attached to the specified parent node. $parent can be either a XML::TinyXML::Node object or a XmlNodePtr one.

    %attrs is an optional hash specifying attributes for the newly created xml node

    Returns a valid XML::TinyXML::Node object

  • cleanAttributes ()

    Removes all node attributes

  • removeAttribute ($index)

    Removes attribute at $index

  • loadHash ($hashref, [ $childname ])

    Loads an hashref and represent it as an xml subbranch.

    $hashref

    if $childname is specified, newly created childnodes will use it as their name

  • toHash ([ $parent ])

    Export the xml structure into an hashref (formerly the inverse of loadHash)

    if $parent is specified the resulting structure will be connected to $parent. (NOTE: $parent MUST obviously be an hashref)

  • updateAttributes (%attrs)

    Updates all attributes.

    This method simply clean all current attributes and replace them with the ones specified in the %attrs hash

  • addAttributes (%attrs)

    Add attributes.

  • name ([$newname])

    Set/Get the name of a node. if $newname is specified it will be used as the new name, otherwise the current name is returned

  • value ([$newval])

    Set/Get the vlue of a node. if $newval is specified it will be used as the new value, otherwise the current value is returned

  • attributes ()

    Read-Only method to obtain an hashref to the attributes of this node

  • getChildNode ($index)

    Returns child node at $index. The returned node will be a Xml::TinyXML::Node object

  • getChildNodeByName ($name)

    Returns the first child node whose name matches $name. The returned node will be a Xml::TinyXML::Node object

  • countChildren ()

    Returns the actual number of children

  • children ()

    Returns an array containing all actual children in the form of Xml::TinyXML::Node objects

  • addChildNode ($child)

    Adds a new child node.

    $child MUST be a XML::TinyXML::Node object

  • parent ()

    Read-Only method which returns the parent node in the form of a XML::TinyXML::Node object.

  • type ()

    Returns the "type" of a XML::TinyXML::Node object. type can be : NODE COMMENT CDATA

SEE ALSO

    XML::TinyXML

AUTHOR

xant, <xant@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2008 by xant

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.