您想要title
前三个元素中的item
元素。这是Simplexml支持的Xpath的典型工作。这种Xpath 1.0表达式将满足您的需求:
//item[position() < 4]/title
一个代码示例是:
$titles = $xml->xpath('//item[position() < 4]/title');
foreach ($titles as $title)
{
echo $title, "\n";
}
您的情况下的输出是(截至几分钟前):
USD - 1 - 405.8400
GBP - 1 - 657.4200
AUD - 1 - 389.5700
我想说在这里使用 Xpath 是最明智的,不需要外部库。
完整的代码示例,包括我快速完成的缓存和错误处理:
<?php
/**
* Reading Xml File
*
* @link http://stackoverflow.com/q/19609309/367456
*/
$file = "feed.xml";
if (!file_exists($file))
{
$url = 'https://www.cba.am/_layouts/rssreader.aspx?rss=280F57B8-763C-4EE4-90E0-8136C13E47DA';
$handle = fopen($url, 'r');
file_put_contents($file, $handle);
fclose($handle);
}
$xml = simplexml_load_file($file);
if (!$xml)
{
throw new UnexpectedValueException('Failed to parse XML data');
}
$titles = $xml->xpath('//item[position() < 4]/title');
foreach ($titles as $title)
{
echo $title, "\n";
}