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", $attrs, $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
path ()
Get the absolute path of a node.
getAttribute ($index)
getAttributes ()
attributes ()
Read-Only method to obtain an hashref of the attributes in 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
getChildrenByName ($name)
Alias for getChildNodeByName
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
removeChildNode ($index)
Removes child node at provided $index.
removeAllChildren
Removes all children from this node
parent ()
Read-Only method which returns the parent node in the form of a XML::TinyXML::Node object.
nextSibling ()
Returns the next sibling of this node (if any), undef otherwise.
prevSibling ()
Returns the previous sibling of this node (if any), undef otherwise.
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.