Simple XML Element无法解析.atom文件中的<link type =“”/>字符串

时间:2012-11-24 19:31:41

标签: php xml parsing simplexml atom-feed

我用.atom文件包含的这段代码用file_get_contents包装:

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

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

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

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

2 个答案:

答案 0 :(得分: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::...

答案 1 :(得分:0)

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

$xml = new SimpleXMLElement($XML_file);
$link = $xml->link;
print $link;