Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Artem-Samsung

Ветеран


Сообщения: 823
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


Изображения
Тип файла: jpg 1.jpg
(489.2 Kb, 14 просмотров)

Вообщем что мне нужно было?
Есть файл XML со всеми ценами, моделями и ссылками Интернет магазина.
Нужно было создать файл Excel, который бы все это помещал в поля.

Настройка скрипта PEAR::Spreadsheet_Excel_Writer

Файл xml с такой структурой:

Код: Выделить весь код
<item id="1">
<name>Vestax CDX 05</name>
<UAH>4424</UAH>
<USD>433.7</USD>
<EUR>560</EUR>
<url>http://djone.com.ua/CD-proigryvateli/1/CDX_05.htm</url>
<vendor>Vestax</vendor>
</item>
−
<item id="2">
<name>Vestax CDR 07</name>
<UAH>7054.7</UAH>
<USD>691.6</USD>
<EUR>893</EUR>
<url>http://djone.com.ua/CD-proigryvateli/2/CDR_07.htm</url>
<vendor>Vestax</vendor>
</item>
Скрипт создания Excel Файла:

PHP код: Выделить весь код

<?php

$reader 
= new XMLReader();

if (!
$reader->open('http://djone.com.ua/market.xml')) {
 die(
'Не удалось открыть файл');
}

$reader->setParserProperty(XMLReader::VALIDATEfalse);
require_once 
'Spreadsheet/Excel/Writer.php';

// Creating a workbook
$workbook = new Spreadsheet_Excel_Writer();

// sending HTTP headers
$workbook->send('djone-price.xls');

// Creating a worksheet
$worksheet =& $workbook->addWorksheet('Price');

// The actual data


$worksheet->write(01'Бренд');
$worksheet->write(02'Модель');

$worksheet->write(03'Цена: грн');
$worksheet->write(04'Цена: usd');
$worksheet->write(05'Цена: eur');
$worksheet->write(06'Ссылка');


$xmlarr = array();
$idx 0;

$i 1;

while (
$reader->read()) {
 switch (
$reader->nodeType) {
   case (
XMLREADER::ELEMENT):

if (
$reader->name == "name")
     {
       
$reader->read();
       
$model trim($reader->value);
    
$worksheet->write($i2$model);
    
$worksheet->write($i0$i);
       break;
     }

 if (
$reader->name == "UAH")
     {
       
$reader->read();
       
$price1 trim($reader->value);
    
$worksheet->write($i3$price1);
       break;
     }

 if (
$reader->name == "url")
     {
       
$reader->read();
       
$url trim($reader->value);
    
$worksheet->write($i6$url);
       break;
     }

 if (
$reader->name == "EUR")
     {
       
$reader->read();
       
$price3 trim($reader->value);
    
$worksheet->write($i5$price3);
       break;
     }

 if (
$reader->name == "USD")
     {
       
$reader->read();
       
$price2 trim($reader->value);
    
$worksheet->write($i4$price2);
       break;
     }

 if (
$reader->name == "vendor")
     {
       
$reader->read();
       
$brand trim($reader->value);
    
$worksheet->write($i1$brand);
    
    
$i++;
       break;
     }
}
}
// Let's send the file
$workbook->close();
?>

Надеюсь кому то поможет.

-------
Мой блог Web Development

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:17, 13-08-2010 | #8