- my ($journal_id) = $response =~ m#<Id>\s*(\d+)\s*</Id>#i;
-
- # http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=journals&id=4559
- # <?xml version="1.0"?>
- # <!DOCTYPE eSummaryResult PUBLIC "-//NLM//DTD eSummaryResult, 11 May 2002//EN" "http://www.ncbi.nlm.nih.gov/entrez/query/DTD/eSummary_020511.dtd">
- # <eSummaryResult>
- # <DocSum>
- # <Id>4559</Id>
- # <Item Name="Title" Type="String">The Journal of biological chemistry.</Item>
- # <Item Name="MedAbbr" Type="String">J Biol Chem</Item>
- # <Item Name="IsoAbbr" Type="String">J. Biol. Chem.</Item>
- # <Item Name="NlmId" Type="String">2985121R</Item>
- #
- # <Item Name="pISSN" Type="String">0021-9258</Item>
- # <Item Name="eISSN" Type="String">1083-351X</Item>
- # <Item Name="PublicationStartYear" Type="String">1905</Item>
- # <Item Name="PublicationEndYear" Type="String"></Item>
- # <Item Name="Publisher" Type="String">American Society for Biochemistry and Molecular Biology</Item>
- # <Item Name="Language" Type="String">eng</Item>
- #
- # <Item Name="Country" Type="String">United States</Item>
- # </DocSum>
- #
- # </eSummaryResult>
- $url = qq(http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=journals&id=$journal_id);
- print STDERR "url: $url" if $DEBUG;
- $request = HTTP::Request->new('GET', $url);
- $response = $ua->request($request);
- $response = $response->content;
- print STDERR "response: $response" if $DEBUG;
+ print STDERR "response: $response\n" if $DEBUG;
+ my $xa = new XML::Simple;
+ my $ref_struct = $xa->XMLin($response,ForceArray=>['NCBICatalogRecord'],KeyAttr=>[]);
+ my $ref;
+ for (0..@{$ref_struct->{NCBICatalogRecord}}) {
+ if (exists $ref_struct->{NCBICatalogRecord}[$_]{JrXml}) {
+ $ref = $ref_struct->{NCBICatalogRecord}[$_];
+ last;
+ }
+ }
+ $ref = $ref_struct->{NCBICatalogRecord}[0] if not defined $ref;
+ print STDERR Dumper($ref) if $DEBUG;