NAME

XML::RSS::LibXML::MagicElement - Represent A Non-Trivial RSS Element

SYNOPSIS

  us XML::RS::LibXML::MagicElement;
  my $xml = XML::RSS::LibXML::MagicElement->new(
    content => $textContent,
    attributes => \@attributes
  );

DESCRIPTION

This module is a handy object that allows users to access non-trivial RSS elements in XML::RSS style. For example, suppose you have an RSS feed with an element like the following:

  <channel>
    <title>Example</title>
    <tag attr1="foo" attr2="bar">baz</tag>
    ...
  </channel>

While it is simple to access the title element like this:

  $rss->{channel}->{title};

It was slightly non-trivial for the second tag. With this module, <tag> is parsed as a XML::RSS::LibXML::MagicElement object and then you can access all the elements like so:

  $rss->{channel}->{tag};  # "baz"
  $rss->{channel}->{tag}->{attr1}; # "foo"
  $rss->{channel}->{tag}->{attr2}; # "bar"

METHODS

new

Create a new MagicElement object.

attributes

Returns the list of attributes associated with this element

toString

Returns the string representation of this object. By default we use the "text content" of the found tag, but for XML::RSS compatibility, we use the concatenation of the attributes if no content is found.

AUTHOR

Copyright 2005 Daisuke Maki <dmaki@cpan.org>. All rights reserved.

Development partially funded by Brazil, Ltd. <http://b.razil.jp>