КАК СОЗДАТЬ САЙТ С ПОМОЩЮ XML

Статус
В этой теме нельзя размещать новые ответы.

999udaw

Писатель
Регистрация
8 Сен 2008
Сообщения
36
Реакции
0
сразу прошу не заплевывать так как буду говорить о вещах мне мало знакомых. но хотел бы узнать с чего мне начать на доступном для чайника языке
а дело вот в чем.

ДАНО
по партнерской программе предоставлен файл в формате XML в котором описан товар цены ну и к каким категориям он относится.

НАДО
сделать страничку чтоб по катигориям .

есть конечно знания HTML И CSS
НО Я ТАК ПОНЯЛ ЭТОГО НЕДОСТАТОЧНО

роскажите посоветуйте с чего начинать, что почитать ,изучить. чтоб преобразовать данные xml в красивую страничку Web
 
Одним HTML не справишься.
Можно парсить XML при помощи любого серверного языка (или JS если поисковики не критичны).
Также можно заюзать XSLT.
 
Можно посмотреть - Гутманс Э. и др. "PHP 5. Профессиональное программирование": 8 глава: XML и PHP 5

 
Также можно заюзать XSLT.

почитал про XSLT В ПОЛНЕ неплохо . но как я понял надо иметь сам XML файл и обращаться к нему. но тут дело такое сам файл находиться у продавца по адресу . адрес у меня есть . но так как файл пополняеться товаром каждый день то смысла его скачивать наверно нет (ну конечно для разработки его надо скачать) и я так понял он будет как база даных. как я понял надо просто делать к нему запрос.
значит для этого варианта XSLT неподходит ?
 
делай парсинг XML-файла с помощью PHP, дергая его с сервера. Хотя для посещаемого проекта лучше заюзать Cron. В PHP уже встроена библиотека для работы с XML-файлами (SimpleXML)
 
но как я понял надо иметь сам XML файл
...
значит для этого варианта XSLT неподходит ?
Неправильно понял - нужно иметь XML, а не файл.
Как получить XML - вариантов масса: можно сохранять файл у себя раз (или несколько) в сутки, можно запрашивать каждый раз.
 
доброго дня.
спасибо за советы хоть теперь знаю с чего начинать.

так вот создал такой 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 по назначению
 
все таки надо кешировать xml в файл
а так при каждом заходе будет дергаться другой сайт
партнерке это точно не понравится
кешировать на 1 час достоверность данных будет
нормальная , плюс если канал до сайта партнерки будет слабый то клиент может и не дождаться загрузки данных

по разбору xml,можно взять фид скрпт любой PPC и посматреть как там сделано

если надо могу скинуть пример фида
 
все таки надо кешировать xml в файл
а так при каждом заходе будет дергаться другой сайт
партнерке это точно не понравится
кешировать на 1 час достоверность данных будет
нормальная , плюс если канал до сайта партнерки будет слабый то клиент может и не дождаться загрузки данных

по разбору xml,можно взять фид скрпт любой PPC и посматреть как там сделано

если надо могу скинуть пример фида

скинь сюда или в личку
 
Мде. Если под данные сойдет обычная таблица, то лучше использовать любую JS-имплиментацию grid'а.

Если нет, то парсить XML - глупо. Лучше уж тогда XSLT.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху