Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Веб - Программирование > PHP

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 01.02.2011, 16:26   #1
Пользователь
 
Пол:Мужской
Регистрация: 28.08.2007
Сообщений: 45
Репутация: 5
Exclamation Создать XML средствами PHP

Доброго времени суток, втсал вопрос - вылить базу в XML и файл сохранять на серваке, в PHP двоешник, а в XML - это вообще космос для меня, но пхп что то еще ковыряю.

Вобщем тестю на денвере, ничего вообще не получатеся, есть у кого нить пример что бы доступно и понятно было разобрать его, погуглил, инфы масса но ниче не понятно, пробовал с самого простого, не вышло, вот в примерная структура XML:

Код:
<?xml version="1.0" encoding="utf-8"?>
<source creation-time="2010-04-22 22:00:22 GMT+2" host="www.ххххх.ru">
  <spisok>
       <position>
          <name>НАИМЕНОВАНИЕ</name>
          <price>123</price>
          <cur>123</cur>
       </position>
  </spisok>
</source>
Как в PHP создать XML файл? Базу перебираю так (кусок кода):

Код:
$database->setQuery("SELECT * FROM #__goods WHERE `top` = 1");
$list = $database->loadObjectList();

//перебираю и вывожу записи
    foreach($list as $history) {
            echo "<br>".$history->goods." Цена- ".$history->price." ".$history->currency;
    }
Прошу помощи у занющих сведущих, хотя бы на этом примере (хотя полей там намного больше и XML большой).
DKScorp вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама:


Старый 07.02.2011, 01:05   #2
OlegRom
Пользователь
 
Аватар для OlegRom
 
Пол:Мужской
Регистрация: 08.03.2007
Адрес: UAE, Dubai
Сообщений: 99
Репутация: 32
По умолчанию Re: Создать XML средствами PHP

Неделька уже прошла, если еще актуально - то готов предложить решение. Делается достаточно просто используя базовый компонент ПХП.
__________________
Имя величайшему из всех изобретателей: Случайность.
OlegRom вне форума
 
Ответить с цитированием Вверх
Старый 07.02.2011, 01:17   #3
DKScorp
Пользователь
 
Пол:Мужской
Регистрация: 28.08.2007
Сообщений: 45
Репутация: 5
По умолчанию Re: Создать XML средствами PHP

Конечно, помощь все есче нужна, я вод думаю может экранировать надо? (Не тестил пока на другой части работы сижу.)
И еще попутно - на денвере и на хосте fopen() ну и fwrite() тоже не работают :-(

Пивас с меня при успешном решении :-)
DKScorp вне форума
 
Ответить с цитированием Вверх
Старый 07.02.2011, 01:37   #4
OlegRom
Пользователь
 
Аватар для OlegRom
 
Пол:Мужской
Регистрация: 08.03.2007
Адрес: UAE, Dubai
Сообщений: 99
Репутация: 32
По умолчанию Re: Создать XML средствами PHP

2 варианта есть, первый руками создавать весь этот XML, второй вариант (который я используя всегда) это DOM Document:

<?php
date_default_timezone_set('Europe/Moscow');

// создаем новый документ
$dom = new DOMDocument('1.0', 'utf-8');

// создаем основной элемент - корень
$root = $dom->createElement('source');
$root->setAttribute('creation-time', date('Y-m-d H:i:s O'));
$root->setAttribute('host', 'localhost');

// добавить spisok
$spisok = $dom->createElement('spisok');

foreach ($list as $history) {
$position = $dom->createElement('position');

$name = $dom->createElement('name', 'lalalala');
$price = $dom->createElement('price', 'pppp');
$cur = $dom->createElement('cur', 'cccc');

$position->appendChild($name);
$position->appendChild($price);
$position->appendChild($cur);

$spisok->appendChild($position);
}


$root->appendChild($spisok);

// добавляем корень в документ
$dom->appendChild($root);

echo $dom->saveXML();
?>
__________________
Имя величайшему из всех изобретателей: Случайность.
OlegRom вне форума
 
Ответить с цитированием Вверх
Старый 07.02.2011, 08:07   #5
DKScorp
Пользователь
 
Пол:Мужской
Регистрация: 28.08.2007
Сообщений: 45
Репутация: 5
По умолчанию Re: Создать XML средствами PHP

А первый пример можно?
И как будет выглядеть хост в этой строке

Код:
 $root->setAttribute('host', 'localhost');
OlegRom, могу отблагодарить тока WMRом на пивас, сбрось номер кошеля если есть в личку.
Затестю завтра.
DKScorp вне форума
 
Ответить с цитированием Вверх
Старый 07.02.2011, 10:22   #6
OlegRom
Пользователь
 
Аватар для OlegRom
 
Пол:Мужской
Регистрация: 08.03.2007
Адрес: UAE, Dubai
Сообщений: 99
Репутация: 32
По умолчанию Re: Создать XML средствами PHP

Первый пример будет такого рода:

<?php
date_default_timezone_set('Europe/Moscow');

$xml = '<?xml version="1.0" encoding="utf-8"?><source creation-time="' . date('Y-m-d H:i:s O') . '" host="' . $_SERVER['SERVER_NAME'] . '">';
$xml .= '<spisok>';
foreach ($history as $list) {
$xml .= '<position>';
$xml .= '<name>' . $list['name'] . '</name>';
$xml .= '<price>' . $list['price'] . '</price>';
$xml .= '<cur>' . $list['cur'] . '</cur>';
$xml .= '</position>';
}

$xml .= '</spisok>';
$xml .= '</source>';

$xml .= '</root>';
?>


WMR к сожалению не пью! Так что будут вопросы - обращайся!
__________________
Имя величайшему из всех изобретателей: Случайность.
OlegRom вне форума
 
Ответить с цитированием Вверх
Старый 09.02.2011, 19:05   #7
DKScorp
Пользователь
 
Пол:Мужской
Регистрация: 28.08.2007
Сообщений: 45
Репутация: 5
По умолчанию Re: Создать XML средствами PHP

OlegRom, помоги еще с одним вопрсом:
Пошел первым путем, не могу добавить перевод строки, база в 1251, файл со скриптом тоже в 1251, выгоняю в utf, файл на выходе в utf без BOM

вот кусок:

Код:
$correct_return = '\r\n';
$xml = '<?xml version="1.0" encoding="utf-8"?>'.$correct_return.'<source creation-time="' . date('Y-m-d H:i:s O') . '" host="www.' . $_SERVER['SERVER_NAME'] . '">'.$correct_return;
дабваляет просто как текст \r\n тестю на денвере, винда стоит, пробовал и \n результат тотже.
DKScorp вне форума
 
Ответить с цитированием Вверх
Старый 09.02.2011, 22:24   #8
OlegRom
Пользователь
 
Аватар для OlegRom
 
Пол:Мужской
Регистрация: 08.03.2007
Адрес: UAE, Dubai
Сообщений: 99
Репутация: 32
По умолчанию Re: Создать XML средствами PHP

А ты \r\n в двойных скобках напиши. Одинарные бэкслэши оставляют как есть.
$correct_return = "\r\n";
__________________
Имя величайшему из всех изобретателей: Случайность.
OlegRom вне форума
 
Ответить с цитированием Вверх
Старый 09.02.2011, 22:57   #9
DKScorp
Пользователь
 
Пол:Мужской
Регистрация: 28.08.2007
Сообщений: 45
Репутация: 5
По умолчанию Re: Создать XML средствами PHP

законвертил в утф с помощью iconv и запахало, спасибо, неуспел написать :-)

а твой метод попробую и возьму на вооружение, есче раз спасибо!
DKScorp вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разграничение доступа в интернет средствами AD Alexei_T Windows 200x Server 55 01.10.2010 09:03
архивирование средствами FreeBSD elitegroup Скорая помощь 3 19.03.2010 08:21
Настройка маршрутизации средствами Windows XP vov4ka Windows XP 18 16.12.2009 09:32
Перевод строки в число средствами С++.NET Ivan_32 Visual C++ / С/C++ 4 20.05.2008 02:35
Синхронизация средствами Win XP Vem Windows XP 18 02.09.2007 18:40

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:24. Часовой пояс GMT +3.


Copyright ©2004 - 2026 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.05266 секунды с 11 запросами