【发布时间】:2011-01-18 14:37:42
【问题描述】:
我在使用 PHPXPath 根据登录客户端的国家/地区获取汇率时遇到问题。
供参考:PHP XPath 是一个使用 XPath 搜索 XML 文档的 php 类。
我有一个包含所有客户国家和相关货币价值的数据库。
到目前为止,我用来获取利率的代码(来自 ECB 提要)是这样的:
$Rates = new XPath();
$Rates->importFromFile("http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml");
$userRate = $Rates->getAttributes("//Cube[@currency='USD']","rate");
现在,我想要传递一个变量作为货币值(上例中的美元)。 我的问题是,因为我对 XPath 完全陌生,所以语法是这样做的。假设变量名是
$user_data->GRUPPO_005
我尝试了以下解决方案,但我不断收到“UNEXPECTED T_VARIABLE”错误:
$userRate = $Rates->getAttributes("//Cube[@currency='"$user_data->GRUPPO_005"']","rate");
$userRate = $Rates->getAttributes("//Cube[@currency='".$user_data->GRUPPO_005."']","rate");
$userRate = $Rates->getAttributes("//Cube[@currency='.$user_data->GRUPPO_005.']","rate");
我认为这是因为我对这门语言知之甚少,我希望能有一点提示。
【问题讨论】:
-
您可能想添加一个指向 PHPXPath 的链接,以便人们知道您在说什么
-
$userRate=$Rates->getAttributes("//Cube[@currency={$user_data->GRUPPO_005}]","rate");应该为我工作/工作。我认为这是因为你不能让字符串转义(出于某种原因)。