2012-07-12 74 views
0

我需要将xml放入数组,然后使用连接函数来显示xml文件 我已经提取了xml,但不知道如何使用连接函数代码。 请帮我弄清楚这一点。 下面是XML代码:join()函数php到数组

<ValCurs Date="06.07.2012" name="Ratele oficiale de schimb"> 
<Valute ID="47"> 
<NumCode>978</NumCode> 
<CharCode>EUR</CharCode> 
<Nominal>1</Nominal> 
<Name>Euro</Name> 
<Value>15.3051</Value> 
</Valute> 
<Valute ID="44"> 
<NumCode>840</NumCode> 
<CharCode>USD</CharCode> 
<Nominal>1</Nominal> 
<Name>Dolar S.U.A.</Name> 
<Value>12.2343</Value> 

功能来extraxt XML:

function curs() { 
    $date = date("d.m.Y"); 
    $link = 'http://bnm.md/md/official_exchange_rates?get_xml=1&date='.$date; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $link); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $xml_array = curl_exec($ch); 
    curl_close($ch); 
    $xml_array = file_get_contents($link); 

    $values = array(); 

$curs = new SimpleXMLElement($xml_array); 

foreach($curs as $key => $value) { 

    if (($value->CharCode) == 'USD') { 

    $values .= $value->Name." - ".$value->Value.", "; 
    } 

    if (($value->CharCode) == 'EUR') { 

     $values .= $value->Name." - ".$value->Value.", "; 
    } 
    } 

    $value = str_replace(',', '.', $values); 

    return $value; 
} 
+0

对于'join()'(又名'implode()'),你需要一个数组 - 你没有生成一个数组,所以你没有内爆。 – 2012-07-12 10:17:40

+0

我该怎么做? 请问您可以帮我 – rellu 2012-07-17 11:59:16

+0

这里是我需要做的,创建一个数组:$ allowed_currencies = array('EUR','USD') 和insted if((value-> CharCode)=='USD '){ if(($ value-> CharCode)=='EUR'){ 检查并从美元中提取美元和欧元allowed_currencies – rellu 2012-07-17 12:01:29

回答

0

这是不是太清楚你问什么,但如果我正确地收集它,你想要做这样的事情。请注意,您正在为变量$ values混合使用数组和字符串逻辑。

$values = array(); 
$curs = new SimpleXMLElement($xml_array); 

foreach($curs as $key => $value) { 

    if (($value->CharCode) == 'USD') { 

     $values[] = $value->Name." - ".$value->Value; 
    } 

    if (($value->CharCode) == 'EUR') { 

     $values[] = $value->Name." - ".$value->Value; 
    } 
} 

$value = implode('.', $values); 

return $value; 

注意:我不确定将这些字符串与“。”合并的用处。我希望你会喜欢\ n之类的东西。