use strict;
use warnings;
use XML::Twig;
my $xml = <<XML;
<foo>
<yahoo V="bay">
<bay_id>
<value>1</value>
<fact>yes</fact>
</bay_id>
<bay_seen>
<value>10</value>
<fact>no</fact>
</bay_seen>
<bay_overall value="disabled"/>
<bayking_list>
<bayking id="kingjames" country="usa" active="true">
<bayking type="dictator"/>
<bay_usage value="none"/>
<bayking_origin>
<bayking_origin_name value="ohio_usa"
emmigrate="no">
<economy_status_previous value="very poor" />
</bayking_origin_name>
</bayking_origin>
</bayking>
</bayking_list>
<bayqueen_list>
<bayqueen id="queenliz" country="france" active="true">
<bayqueen type="dictator"/>
<bay_usage value="none"/>
<bayqueen_origin>
<bayqueen_origin_name value="ohio_usa"
emmigrate="no"/>
</bayqueen_origin>
</bayqueen>
</bayqueen_list>
</yahoo>
<yahoo V="baz">
<bay_id>
<value>1000</value>
<fact>yes</fact>
</bay_id>
<bay_seen>
<value>50</value>
<fact>no</fact>
</bay_seen>
<bay_overall value="disabled"/>
<bayking_list>
<bayking id="kingtony" country="Russia" active="true">
<bayking type="dictator"/>
<bay_usage value="none"/>
<bayking_origin>
<bayking_origin_name value="ohio_usa"
emmigrate="no">
<economy_status_previous value="very poor" />
</bayking_origin_name>
</bayking_origin>
</bayking>
</bayking_list>
<bayqueen_list>
<bayqueen id="queensarah" country="japan" active="true">
<bayqueen type="dictator"/>
<bay_usage value="none"/>
<bayqueen_origin>
<bayqueen_origin_name value="ca_usa"
emmigrate="no"/>
<economy_status_previous value="very poor" />
<previous marriage="no"/>
</bayqueen_origin>
</bayqueen>
</bayqueen_list>
</yahoo>
</foo>
XML
my $sabal = new XML::Twig(
twig_roots => {
'[EMAIL PROTECTED]"kingtony"]' =>
sub {
my ($yabal, $element ) = @_;
$element->print;
}
}
);
above produces,
<bayking active="true" country="Russia" id="kingtony"><bayking
type="dictator"/><bay_usage
value="none"/><bayking_origin><bayking_origin_name emmigrate="no"
value="ohio_usa"><economy_status_previous value="very
poor"/></bayking_origin_name></bayking_origin></bayking>
which is very close to what i need but I really need it to traverse all
the way top to <yahoo> and traverse down back all the way to </yahoo>..
I thought sub'ing $element->print to //../../$element->print would work
but does not....
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/