0

我的这段代码由一个用 file_get_contents 包裹的 .atom 文档获取:

<entry>
    <link type="text/html" rel="alternate" href="..."/>
</entry>

我的目标是将第一个 URL 提取到 entry 标记中的 href 属性中,我尝试解析:

$xml = new SimpleXMLElement($XML_file);
$link = $xml->entry[0]->link;
print $link;

但是 shell 没有给我任何输出。

4

2 回答 2

1

你试过了吗?由于您的链接元素看起来是空的。

<entry>
    <link type="text/html" rel="alternate" href="...">Something</link>
</entry>

而不是你的PHP?

这就是我的观点,这正是你试图回应的。获取属性

http://www.php.net/manual/en/simplexmlelement.attributes.php

$text = '<entry><link type="text/html" rel="alternate" href="..." /></entry>';
$xml = simplexml_load_string($text);
$linkAttributes = $xml->link->attributes();
foreach ($linkAttributes as $key => $value)  {
    echo $key . '::' . $value . PHP_EOL;
}

输出:

type::text/html
rel::alternate
href::...
于 2012-11-24T19:39:04.973 回答
0

当您加载一个 xml 文档时,该文档根元素(在本例中<entry>)。因此,您想要:

$xml = new SimpleXMLElement($XML_file);
$link = $xml->link;
print $link;
于 2012-11-24T19:40:56.007 回答