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.