【发布时间】:2013-01-31 22:27:48
【问题描述】:
如何使用 PHP 从 XML 文件中查找和获取“美元”、“英镑”和“欧元”的货币?
我的 XML 文件如下所示:
<?xml version="1.0" encoding="ISO-8859-2"?>
<tabela_kursow typ="A" uid="13a033">
<numer_tabeli>033/A/NBP/2013</numer_tabeli>
<data_publikacji>2013-02-15</data_publikacji>
<pozycja>
<nazwa_waluty>bat (Tajlandia)</nazwa_waluty>
<przelicznik>1</przelicznik>
<kod_waluty>THB</kod_waluty>
<kurs_sredni>0,1052</kurs_sredni>
</pozycja>
<pozycja>
<nazwa_waluty>dolar amerykański</nazwa_waluty>
<przelicznik>1</przelicznik>
<kod_waluty>USD</kod_waluty>
<kurs_sredni>3,1398</kurs_sredni>
</pozycja>
文件来自这里:Polish National Bank
我下载文件并将其保存在我的服务器上:
$basedir = "/mypath/www/dirname";
$sxe = new SimpleXMLElement("http://www.nbp.pl/kursy/xml/LastA.xml", null, true);
file_put_contents($basedir."/subdirname/output.xml", $sxe->asXML());
使用下载的 XML 文件如何仅以 <kod_waluty> = USD、EUR、GBP 获得 <kurs_sredni>?
【问题讨论】:
-
我不确定您是否可以使用 XPath 做到这一点。但是您可以将所有汇率与相应的货币放在一个数组中,然后使用您需要的。
-
使用 $tabela_kursow = new SimpleXMLElement($basedir."/subdirname/output.xml", null, true); echo "货币:".$tabela_kursow->pozycja[1]->kurs_sredni;很容易获得 kurs_sredni 的值,但是如何找到/获取/知道它是哪个 pozycja[]?
-
user1641443 写的正是我的意思:) 你遍历所有
pozycja并检查货币和汇率。如果货币是一种您需要的货币,您可以保存汇率以备后用。