Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

XML::Smart help, how to access attributes?

by s_pradeep (Initiate)
on Jun 01, 2011 at 12:34 UTC ( #907617=perlquestion: print w/replies, xml ) Need Help??

s_pradeep has asked for the wisdom of the Perl Monks concerning the following question:

for this XML
<feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:gContact='http://schemas.google.com/contact/2008' xmlns:batch='http://schemas.google.com/gdata/batch' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/"CUMBRHo_fip7ImA9WxRbGU0."'> <id>liz@gmail.com</id> <updated>2008-12-10T10:04:15.446Z</updated> <category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/contact/2008#contact' /> <title>Elizabeth Bennet's Contacts</title> <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://www.google.com/m8/feeds/contacts/liz%40gmail.com/ful +l' /> <link rel='http://schemas.google.com/g/2005#post' type='application/atom+xml' href='https://www.google.com/m8/feeds/contacts/liz%40gmail.com/ful +l' /> <link rel='http://schemas.google.com/g/2005#batch' type='application/atom+xml' href='https://www.google.com/m8/feeds/contacts/liz%40gmail.com/ful +l/batch' /> <link rel='self' type='application/atom+xml' href='https://www.google.com/m8/feeds/contacts/liz%40gmail.com/ful +l?max-results=25' /> <author> <name>Elizabeth Bennet</name> <email>liz@gmail.com</email> </author> <generator version='1.0' uri='http://www.google.com/m8/feeds'> Contacts </generator> <openSearch:totalResults>1</openSearch:totalResults> <openSearch:startIndex>1</openSearch:startIndex> <openSearch:itemsPerPage>25</openSearch:itemsPerPage> <entry gd:etag='"Qn04eTVSLyp7ImA9WxRbGEUORAQ."'> <id> http://www.google.com/m8/feeds/contacts/liz%40gmail.com/base/c90 +12de </id> <updated>2008-12-10T04:45:03.331Z</updated> <app:edited xmlns:app='http://www.w3.org/2007/app'>2008-12-10T04:4 +5:03.331Z</app:edited> <category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/contact/2008#contact' /> <title>Fitzwilliam Darcy</title> <gd:name> <gd:fullName>Fitzwilliam Darcy</gd:fullName> </gd:name> <link rel='http://schemas.google.com/contacts/2008/rel#photo' type +='image/*' href='https://www.google.com/m8/feeds/photos/media/liz%40gmail.c +om/c9012de' gd:etag='"KTlcZWs1bCp7ImBBPV43VUV4LXEZCXERZAc."' /> <link rel='self' type='application/atom+xml' href='https://www.google.com/m8/feeds/contacts/liz%40gmail.com/f +ull/c9012de' /> <link rel='edit' type='application/atom+xml' href='https://www.google.com/m8/feeds/contacts/liz%40gmail.com/f +ull/c9012de' /> <gd:phoneNumber rel='http://schemas.google.com/g/2005#home' primary='true'> 456 </gd:phoneNumber> <gd:extendedProperty name='pet' value='hamster' /> <gContact:groupMembershipInfo deleted='false' href='http://www.google.com/m8/feeds/groups/liz%40gmail.com/base +/270f' /> </entry> </feed>
I tried this,
my $xml_parser = XML::Smart->new($res->content); print $xml_parser->{feed}->{'openSearch:totalResults'},"\n"; foreach my $entry (@{$xml_parser->{feed}->{entry}}) { printf('%s - %s%s',$entry->{'title'},$entry->{'gd:etag'},"\n"); }
How do I access the attribute gd:etag ?

Replies are listed 'Best First'.
Re: XML::Smart help, how to access attributes?
by toolic (Bishop) on Jun 01, 2011 at 12:51 UTC
    I'm not sure what your $res->content is, but if I put your XML into a file named file.xml, I get this expected output:
    use warnings; use strict; use XML::Smart; my $xml_parser = XML::Smart->new('file.xml') ; print $xml_parser->{feed}->{'openSearch:totalResults'},"\n"; for my $entry (@{$xml_parser->{feed}->{entry}}) { printf('%s - %s%s', $entry->{'title'}, $entry->{'gd:etag'}, "\n"); } __END__ 1 Fitzwilliam Darcy - "Qn04eTVSLyp7ImA9WxRbGEUORAQ."

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://907617]
Approved by toolic
Front-paged by toolic
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (7)
As of 2019-10-14 22:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?