<?php
$txtData = 'http://www.nbp.pl/kursy/kursya.html';
{
$link = $txtParsed;
$link1 = strstr($link, 'xml'); $link2 = substr($link1, '0', '19'); $dt = substr($link2, '9', '6'); $d = $dt[4].$dt[5];
$m = $dt[2].$dt[3];
$r = "20".$dt[0].$dt[1];
$dat_wal = $r.'.'.$m.'.'.$d;
$link = "http://www.nbp.pl/kursy/".$link2;
}
if ($wersja[0]>4)
{
$xml = simplexml_load_file($link);
foreach ($xml->pozycja as $wpis)
{
echo "<li>".$wpis->nazwa_waluty."(".$wpis->kod_waluty.") ->kurs średni: ".$wpis->kurs_sredni."</li>"; }
}
else
{
$xml_link = $link;
$currentTag = "";
$startpos = 0;
$encoding = 0;
function startTag($parser, $name, $attrs)
{
global $currentTag, $startpos; $currentTag = $name;
if ($currentTag=='POZYCJA') $startpos++;
}
function endTag($parser, $name)
{
$currentTag = "";
}
function characterData($parser, $data)
{
global $currentTag, $startpos, $xml_items; if ($startpos > 0) {
switch ($currentTag) {
case 'NAZWA_WALUTY' : $xml_items[$startpos]['NAZWA_WALUTY'] .=$data; break;
case 'KOD_WALUTY': $xml_items[$startpos]['KOD_WALUTY'].=$data; break;
case 'KURS_SREDNI': $xml_items[$startpos]['KURS_SREDNI'].=$data; break;
}
} else {
}
}
$header = "GET ".$xml_link["path"].(isset($xml_link["query"]) ?
"?".$xml_link["query"] : false)." HTTP/1.0rn"; $header .= "Host: ".$xml_link['host']."rn";
$header .= "Content-type: application/x-www-form-urlencodedrn";
$header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; www.inteco.win.pl)rn";
$header .= "Content-length: " . strlen($request) . "rnrn";
if ($xml_read = @fsockopen($xml_link['host'], ($xml_link['port']>0 ?
$xml_link['port'] : 80
) , $err_num, $err_msg, 10
)) {
fputs($xml_read, $header . $request);
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startTag", "endTag");
xml_set_character_data_handler($xml_parser, "characterData");
while ($data = fread($xml_read, 4096
)) { $encoding = preg_replace("#<?xml.+encoding="([w
-]+)".*?>#s","1",$enc[0
]); }
if (!xml_parse
($xml_parser, $data, feof($xml_read))) { die(sprintf("XML error: %s at line %d", xml_error_string
(xml_get_error_code
($xml_parser)), xml_get_current_line_number
($xml_parser)));
}
}
}
xml_parser_free($xml_parser);
}
echo '<table width="100%" border="0" cellspacing="1" cellpadding="0" align="center" class="tbl-border">'; for ($i=1;$i<count($xml_items);$i++)
{
if($xml_items[$i]['KOD_WALUTY']=="USD" || $xml_items[$i]['KOD_WALUTY']=="EUR") {
if($klasa=="tbl1") {$klasa="tbl2";} else {$klasa="tbl1";}
<td class="'.$klasa.'">'.$xml_items[$i]['NAZWA_WALUTY'].'</td><td class="'.$klasa.'" align="center">'.$xml_items[$i]['KOD_WALUTY'].'</td><td class="'.$klasa.'" align="center"><b>'.$xml_items[$i]['KURS_SREDNI']."</b></td>
</tr>";
}
}
}
To przykładowy kod - mnie interesował tylko dolar i euro.