Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: XML для Яндекс.Маркет

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Проблемы и решения
Kubert
Отправлено: 12 Июля, 2011 - 12:46:36
Post Id



Частый гость


Покинул форум
Сообщений всего: 186
Дата рег-ции: Февр. 2010  


Помог: 3 раз(а)




Добрый день! Делаю XML для Яндекс.Маркет.
Знания очень начальные)

Задача первая создать 2 строчки типа:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?xml version="1.0" encoding="windows-1251"?>
  3. <!DOCTYPE yml_catalog SYSTEM "shops.dtd">
  4.  


Делаю так:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <?php
  3.         $doc = new DOMDocument ( '1.0' );
  4.         $doc -> encoding = 'windows-1251';
  5.         $doc -> formatOutput = true ;
  6.  
  7.         $doc->save("yandex_market.xml");
  8.         echo 'Ok!';
  9. ?>
  10.  


Но как сделать создание строки <!DOCTYPE yml_catalog SYSTEM "shops.dtd">?
По видимому так:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $doct = $doc -> createTextNode('<!DOCTYPE yml_catalog SYSTEM "shops.dtd">');
  3. $doct = $doc -> appendChild($doct);
  4.  


Но знаки "<" и ">" превращаются в &lt; и &rt;


Подскажите как сделать?

(Отредактировано автором: 12 Июля, 2011 - 12:48:00)

 
 Top
Мелкий Супермодератор
Отправлено: 12 Июля, 2011 - 13:09:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Я для одного сайта собирал плейн-текстом, обычными строковыми конкатенациями. ИМХО, нестандартную разметку - удобнее.


-----
PostgreSQL DBA
 
 Top
Kubert
Отправлено: 12 Июля, 2011 - 13:16:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 186
Дата рег-ции: Февр. 2010  


Помог: 3 раз(а)




Мелкий пишет:
Я для одного сайта собирал плейн-текстом, обычными строковыми конкатенациями. ИМХО, нестандартную разметку - удобнее.


Я не совсем понял, что ты предлагаешь.
 
 Top
EuGen Администратор
Отправлено: 12 Июля, 2011 - 13:23:16
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Предлагается писать XML как обычную строку и формировать ее обычной конкатенацией где нужно (в PHP это ".") - у подхода есть свои минусы и плюсы.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Kubert
Отправлено: 12 Июля, 2011 - 14:39:19
Post Id



Частый гость


Покинул форум
Сообщений всего: 186
Дата рег-ции: Февр. 2010  


Помог: 3 раз(а)




EuGen пишет:
Предлагается писать XML как обычную строку и формировать ее обычной конкатенацией где нужно (в PHP это ".") - у подхода есть свои минусы и плюсы.


Скорее всего я не понимаю, так как Вы оба вкурсе о чем говорите)

У меня XML файл генериться из БД, а файлик который создает этот самый файл как раз описан выше. Тоесть он просто перезаписывает все что было в yandex_market.xml новым... И мне нужно добавить эту дурацкую строчку(((
Только что проверял, яндекс как раз ругается на первый символ во второй строке, а это оно и есть!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« XML и его обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB