2014-11-27 4 views
1

Мне нужен синтаксический анализ xml от file to parsing, но я могу разобрать только локальный файл, как я могу анализировать файл с URL-адреса?Как разобрать xml из url и получить атрибут php

Я использую этот код PHP

<?php 
include '/example1.php'; 
$string = $xmlstr; 

$xml = simplexml_load_string($string); 
foreach($xml->row->exchangerate[0]->attributes() as $a => $b) { 
    echo $a,'="',$b,"\"\n"; 
} 
?> 

example1.php код

<?php 
$xmlstr = <<<XML 
<exchangerates> 
    <row> 
     <exchangerate ccy="RUR" base_ccy="UAH" buy="0.33291" sale="0.33291"/> 
    </row> 

    <row> 
     <exchangerate ccy="EUR" base_ccy="UAH" buy="18.60253" sale="18.60253"/> 
    </row> 

    <row> 
     <exchangerate ccy="USD" base_ccy="UAH" buy="14.97306" sale="14.97306"/> 
    </row> 
</exchangerates> 
XML; 
?> 

ответ

0

Просто кормить необходимые URL и использовать simplexml_load_file() из вы хотите использовать URL:

$url = 'https://api.privatbank.ua/p24api/pubinfo?exchange&coursid=3'; 
$xml = simplexml_load_file($url); 
foreach($xml->row[0]->exchangerate->attributes() as $key => $exchangerate) { 
    if($key == 'buy' || $key == 'sale') { 
     $exchangerate = 10 * (float) $exchangerate; 
    } 
    echo '<div id="attribute_'.$key.'"></div>','<div id="valuta">'.$exchangerate.'</div><br/>'; 
} 
+0

's работает, но как сделать цикл, чтобы принять все данные в URL и сделать код как

RUR
UAH
0.32239
.. .? – BiDbMAK

+0

@BiDbMAK просто добавьте div как создание его на строку: 'echo '

$exchangerate

"; ' – Ghost

+0

да, я просто сделаю это, echo'

','
',$exchangerate,'
'," \ n "; – BiDbMAK

0

насчет загрузки XML-перед загрузкой

<?php 
$string = file_get_contents("https://www.unicreditbank.cz/web/exchange_rates_xml.php"); 
?> 

как этот

<?php 

$string = file_get_contents("https://www.unicreditbank.cz/web/exchange_rates_xml.php"); 

$xml = simplexml_load_string($string); 
foreach($xml->row->exchangerate[0]->attributes() as $a => $b) { 
    echo $a,'="',$b,"\"\n"; 
} 
?> 
Смежные вопросы