我有一段代码,由一个用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;