---
name: "XML::RSS::LibXML::MagicElement"
section: "3pm"
platform: "linux"
package: "libxml-rss-libxml-perl"
version: "0.3105+dfsg-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/XML::RSS::LibXML::MagicElement"
---

# XML::RSS::LibXML::MagicElement(3pm)

Represent A Non-Trivial RSS Element

## 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\>
