从XML检索URL

时间:2012-09-28 11:35:49

标签: xml parsing url xpath

我有以下XML -

<title type="text/html">First part of string</title>
<content type="text/html"><p>And Second part of string</p> </content>
<link rel="alternate" type="text/html" href="http://www.FooBar.com"/>

并在XPath -

中使用了以下脚本
use XML::XPath;
use XML::XPath::XMLParser;

my $file = 'MY.xml';
my $xp = XML::XPath->new(filename=>$file);

my $body = $xp->findvalue('entry/activity:object/content');
print "$body\n";
my $title = $xp->findvalue('entry/activity:object/title');
print "$title\n";

返回 -

First part of string And Second part of string

我还需要输出 -

http://www.FooBar.com

我尝试添加 -

my $URL = $xp->findvalue('entry/activity:object/link');
print "$URL\n";

但这并没有输出任何东西。

如何编辑我的脚本以包含URL字符串?

2 个答案:

答案 0 :(得分:2)

网址位于href属性中,而不在link元素的文本内容中(它没有任何内容),因此您需要

entry/activity:object/link/@href

答案 1 :(得分:1)

href值是link元素的属性,因此请使用:

<path>/link/@href