這可能是一個愚蠢的問題,但我沒有得到它。我嘗試了各種方法,也許我在某個地方犯了一個愚蠢的錯誤。我仍然在學習解析。你的幫助肯定會幫助我提高自己的知識水平。我想從作者列表中提取作者的姓氏和姓氏。我試圖寫代碼,但不知道我是否正確。關於XML解析的快速提問
use LWP::Simple;
use XML::Simple;
use Data::Dumper;
open (FH, ">:utf8","xmlparsed1.txt");
my $db1 = "pubmed";
my $q = 16404398;
my $xml = new XML::Simple;
$urlxml = "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=$db1&id=$q&retmode=xml&rettype=abstract";
$dataxml = get($urlxml);
$data = $xml->XMLin("$dataxml", ForceArray => [qw(MeshHeading AuthorList)]);
print FH Dumper($data);
print FH "Authors: ".join '$$', map $_->{LastName},@{$data->{PubmedArticle}->{MedlineCitation}->{Article}->{AuthorList}->[0]->{Author}};
這給了我姓氏,但我想forename像'Atul J Butte'。另外,因爲這是任何這樣的XML文件的通用代碼,提及[0]是否正確?如果它在其他xml文件的不同位置呢?有沒有其他方法可以做到這一點? 謝謝。
我得到一個錯誤(400 ,錯誤的請求)當我嘗試的URL – mirod
@ mirod謝謝你的幫助。但是,鏈接絕對正確。我不明白你爲什麼得到這個錯誤。無論如何,我得到了下面的解決方案。感謝您的幫助。 – smandape