<p>The manual page for <code>XML::Parser::Style::Objects</code> is horrible.  A simple hello world style program would really be helpful.</p>

<p>I really wanted to do something like this: (not real code of course)</p>

<pre><code>use XML::Parser;
my $p = XML::Parser-&gt;new(Style =&gt; 'Objects', Pkg =&gt; 'MyNode');
my $tree = $p-&gt;parsefile('foo.xml');
$tree-&gt;doSomething();

MyNode::doSomething() {
  my $self = shift;
  print "This is a normal node";
  for $kid ($self-&gt;Kids)
  {
    $kid-&gt;doSomething();
  }
}

MyNode::special::doSomething() {
  my $self = shift;
  print "This is a special node";
}
</code></pre>

When ever I need to do something similar, usually I end up using
XML::Parser::EasyTree
it has better documentation and is simpler to use.
I highly recommend it.