это может быть глупый вопрос, но я его не понимаю. Я перепробовал все способы, возможно, я где-то совершаю глупую ошибку. Я все еще учусь парсингу. Ваша помощь, несомненно, поможет мне расширить мои знания. Я хочу извлечь имя и фамилию авторов из списка авторов. Я пытался написать код, но не уверен, прав ли я.
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}};
Это дает мне фамилию, но я хочу также имя, как "Atul J Butte". Кроме того, поскольку это обобщенный код для любого такого XML-файла, правильно ли упоминать [0]? Что если он находится в другом месте в каком-то другом XML-файле? Есть ли другой способ сделать это?
Спасибо.