我正在使用 MediaWiki API 来获取搜索结果。我只是想获取第一个结果的 URL,即标记为“Url”的 XML 元素。最终我会想用 XML 做其他事情,但我想在得到这个答案时,我会意识到我做错了什么并且能够做其他事情。这是我正在使用的页面。
require HTTP::Request;
require LWP::UserAgent;
require XML::Simple;
my $url = URI->new("http://en.wikipedia.org/w/api.php?action=opensearch&search=rooney&limit=10&namespace=0&format=xml");
my $request = HTTP::Request->new(GET => $url);
my $ua = LWP::UserAgent->new;
my $response = $ua->request($request);
my $xml = XML::Simple->new();
my $data = $xml->XMLin($response->content);
到这里为止的一切似乎都运行良好。我的 HTTP 请求顺利通过(如果我只是打印$response->content
它返回 XML 内容很好,如果我打印$data
,我被告知它是一个哈希。
为了获得“Url”元素,我根据我所做的搜索尝试了多种方法。下面几个:
print $data->{'Url'};
print $data->{Url};
print $data{Url}