简单 XML 元素无法从 .atom 文件中解析<链接类型= " " >字符串



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

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

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

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

但是壳牌没有给我任何输出。

你试过吗?因为您的链接元素看起来是空的。

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

比你的php?

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

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::...

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

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

最新更新