Perl (Scripting) - XML::Twig print values (text)

by
Jeremy Canfield |
Updated: May 25 2021
| Perl (Scripting) articles
Let's say foo.xml contains the following.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<food>
<name>Apple</name>
</food>
Here is how you would parse foo.xml and print the XML tags using XML::Twig.
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
my $twig = new XML::Twig;
$twig->parsefile('foo.xml');
$twig->print;
The following should be returned.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<food><name>Apple</name></food>
children can be used to only print the <name> tags.
foreach my $name ($twig->root->children('name')) {
$name->print;
}
Which should return the following.
<name>Bugs Bunny</name>
text can be used to only print the value in a tag.
foreach my $twigname ($twig->root->children('name')) {
my $name = $twigname->text;
print $name;
}
Which should return the following.
Bugs Bunny
Did you find this article helpful?
If so, consider buying me a coffee over at