]> git.donarmstrong.com Git - bin.git/commitdiff
fix xpath expressions for pubmed_search
authorDon Armstrong <don@donarmstrong.com>
Tue, 14 Jan 2014 23:41:41 +0000 (15:41 -0800)
committerDon Armstrong <don@donarmstrong.com>
Tue, 14 Jan 2014 23:41:41 +0000 (15:41 -0800)
pubmed_search

index 6dff865533161e8f40eadd9daed9d1fc5b755d68..778960a7f187db49f5eaa4c8d8934a6d8bcb1cec 100755 (executable)
@@ -110,11 +110,14 @@ my $raw_xml = $fac->efetch(-email => 'don@donarmstrong.com',
                           )->run(-raw_xml => 1);
 use XML::LibXML;
 my $xml = XML::LibXML->load_xml(string => $raw_xml);
-for my $article ($xml->findnodes('PubmedArticleSet/PubmedArticle/MedlineCitation')) {
-    # print $article->toString;
-    my ($pmid) = $article->findnodes('./PMID');
-    my ($title) = $article->findnodes('./Article/ArticleTitle');
-    my ($abstract) = $article->findnodes('./Article/Abstract');
+print STDERR $xml->toString if $DEBUG;
+for my $article ($xml->findnodes(q{//*[local-name()='MedlineCitation']})) {
+    print STDERR $article->toString if $DEBUG;
+    my ($pmid) = $article->findnodes(q{./*[local-name()='PMID']});
+    my ($title) = $article->findnodes(q{./*[local-name()='Article']}.
+                                      q{/*[local-name()='ArticleTitle']});
+    my ($abstract) = $article->findnodes(q{./*[local-name()='Article']}.
+                                         q{/*[local-name()='Abstract']});
     if ($options{org_mode}) {
         print "** PMID: ";
     }