доброго дня.
спасибо за советы хоть теперь знаю с чего начинать.
так вот создал такой xml
Код:
<?xml version="1.0" encoding="windows-1250"?>
<ValCurs Date="11.12.2008" name="Foreign Currency Market">
<Valute ID="R01010">
<NumCode>036</NumCode>
<CharCode>AUD</CharCode>
<Nominal>1</Nominal>
<Name>Австралийский доллар</Name>
<Value>18,3477</Value>
</Valute>
<Valute ID="R01035">
<NumCode>826</NumCode>
<CharCode>GBP</CharCode>
<Nominal>1</Nominal>
<Name>Фунт стерлингов Соединенного королевства</Name>
<Value>41,3715</Value>
</Valute>
<Valute ID="R01090">
<NumCode>974</NumCode>
<CharCode>BYR</CharCode>
<Nominal>1000</Nominal>
<Name>Белорусских рублей</Name>
<Value>12,7772</Value>
</Valute>
<Valute ID="R01215">
<NumCode>208</NumCode>
<CharCode>DKK</CharCode>
<Nominal>10</Nominal>
<Name>Датских крон</Name>
<Value>48,5532</Value>
</Valute>
</ValCurs>
потом такой парсер php
Код:
<?php
function delteg($string)
{
$keyp=0;
$out="";
for ($i=0; $i<strlen($string); $i++) {
if ($string[$i]=="<"):
$keyp=1;
endif;
if ($keyp==0):
$out.=$string[$i];
endif;
if ($string[$i]==">"):
$keyp=0;
endif;
}
$out = substr($out,1,strlen($out)-3);
return $out;
}
$num = array();
$char = array();
$nominal = array();
$name = array();
$value = array();
$n = 0;
$handle = fopen ("http://www.xml/news.xml", "r");
while (!feof ($handle)) {
$buffer = fgets($handle, 4096);
if (strpos($buffer, "Num")>0) ($num[$n]=delteg($buffer));
if (strpos($buffer, "Char")>0) ($char[$n]=delteg($buffer));
if (strpos($buffer, "Nominal")>0) ($nominal[$n]=delteg($buffer));
if (strpos($buffer, "Name")>0) ($name[$n]=delteg($buffer));
if (strpos($buffer, "Value")>0) :
$value[$n]=delteg($buffer);
$n++;
endif;
}
fclose ($handle);
for ($i=0; $i<$n; $i++) {
echo $num[$i]." - ".$char[$i]." - ".$nominal[$i]." - ".$name[$i]." - ".$value[$i]."<br>";
}
?>
и вот что получилось
36 - UD - - встралийский доллар - 8,3477
26 - BP - - унт стерлингов Соединенного королевства - 1,3715
74 - YR - 000 - елорусских рублей - 2,7772
08 - KK - 0 - атских крон - 8,5532
40 - SD - - оллар США - 7,8671
тоесть почти результат но вот непойму почему везде пропали первые буквы ведь должно быть вот так
036 - AUD - 1 - Австралийский доллар - 18,3477
826 - GBP - 1 - Фунт стерлингов Соединенного королевства - 41,3715
974 - BYR - 1000 - Белорусских рублей - 12,7772
208 - DKK - 10 - Датских крон - 48,5532
840 - USD - 1 - Доллар США - 27,8671
подскажите в чем здесь пробема
пользуемся форумным тегом code по назначению