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 :: функция saveXML

 PHP.SU

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


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

> Описание: Что делает - непонятно.
ddess
Отправлено: 06 Июля, 2014 - 16:23:25
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июль 2012  


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




Не знаю, то ли к новичкам обратиться, то ли сюда.
В ХML, XSL - начинающий.

Вот прога:
****
<?php
$dom = new DOMDocument('1.0', 'utf-8');

$root = $dom->createElement('root');
$root->setAttribute('date','9-12-2009');

$node = $dom->createElement('node');
$text = $dom->createTextNode('Привет');
$node->appendChild($text);
$root->appendChild($node);

$dom->appendChild($root);
echo $dom->saveXML();
?>
************

Запускаю в FF. Выводит:
Привет

Но если посмотреть в браузере исходный код, то получим:

<?xml version="1.0" encoding="utf-8"?>
<root date="9-12-2009"><node>Привет</node></root>


То есть, почему то saveXML выводит не исходный xml-код, а текст из кода.

1 Вопрос - почему ? Или я что то не уловил ?
2 Вопрос. Почему корректно выводится кирилица, если установлена кодировка utf-8 ?
Может, это внутреннее преобразование кодировок ? Кстати, в IE-8 на это иногда ругается, но не всегда.

3 Вопрос, попутный, не связанный с этим примером. Почему если я изменяю код в *.XML на диске, то при запуске его в IE-8 кнопка "обновление страницы" не срабатывает ?
Выход я нахожу такой: Создаю в IE-8 новую пустую вкладку, потом ее удаляю, потом обновляю страницу с XML. И тогда IE видит обновление XML файла. Но это коряво.

4 Вопрос, попутный. Почему XSL не работает в FF, хотя работает в IE ?

На эти вопросы в тырнете поюзал, но не нашел разгадки.

Благодарствую за внимание.
(Добавление)
Забыл еще вопрос, как начинающего:

Что в PHP лучше для работы с XML ?
DOM или SimpleXML ?

До SimpleXML - я еще пока не дошел.

Эти варианты взаимозаменяемы ?
Какие у них плюсы и минусы, сравнительно ?

(Отредактировано автором: 06 Июля, 2014 - 16:27:03)

 
 Top
caballero
Отправлено: 06 Июля, 2014 - 16:57:02
Post Id


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


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




какое отношение то как сохраняет savexml имеет к тому как показывает браузер?


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
ddess
Отправлено: 06 Июля, 2014 - 20:42:45
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июль 2012  


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




caballero пишет:
какое отношение то как сохраняет savexml имеет к тому как показывает браузер?


saveXML — Сохраняет XML дерево из DOM.
echo - выводит это дерево.

Так я понимаю. И так в примерах написано.

Кстати, я еще вопросы задал.

(Отредактировано автором: 06 Июля, 2014 - 20:44:18)

 
 Top
Viper
Отправлено: 06 Июля, 2014 - 23:40:37
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




1.
ddess пишет:
То есть, почему то saveXML выводит не исходный xml-код, а текст из кода.
нормальное поведение.
2. Потому что юникод. Читайте википеды. IE8 осел ещё тот. Забудьте про него.
3. Кеширование.
4. Все работает, наверное вы что-то неправильно делаете.
5. http://stackoverflow[dot]com/questio[dot][dot][dot]lexml-extensions

PS! Лично использую и DOM и SimpleXML. Просто зависит от задачи.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
ddess
Отправлено: 07 Июля, 2014 - 08:41:36
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июль 2012  


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




Спасибо за внимание,
но 1 ответ меня не удовлетворил своей неопределенностью.

А по поводу четвертого. Были примеры, когда все прекрасно работало в IE и ругалось в FF. Я их найти не могу сейчас. Кстати, в тырнете поюзал - многие тоже самое утверждали.

А вот привожу пример, когда в IE все работает нормально,
а в FF работает, но не форматирует вывод.

<?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet type="text/xsl" href="aa.xsl" ?>
<tutorial>
<dog caption="Собака: " name="Шарик">
Привет !
<dogInfo weight="18 кг" color="рыжий с черными подпалинами"/>
</dog>
</tutorial>



<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<B> <xsl:value-of select="//dog/@caption" /> </B>
<xsl:value-of select="//dog/@name" />. Ё√срыър
<xsl:value-of select="//tutorial/dog/dogInfo/@weight" />,
<xsl:value-of select="//dogInfo/@color" />
<p><i> <xsl:value-of select="//dog" /> </i> </p>
</xsl:template>
</xsl:stylesheet>




// Лично использую и DOM и SimpleXML. Просто зависит от задачи. //
_________
А подробней чуток ?

(Отредактировано автором: 07 Июля, 2014 - 08:44:29)

 
 Top
Viper
Отправлено: 07 Июля, 2014 - 10:01:16
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




1. Я собственно не особо понял чем xml-код отличается от "текст из кода" в вашем понимании.
2. Многие индусы утверждали?
3.
ddess пишет:
А вот привожу пример, когда в IE все работает нормально,
а в FF работает, но не форматирует вывод.

Не работает потому что неправильно делаете.
CODE (htmlphp):
скопировать код в буфер обмена
  1. <xsl:output method="html"/>
перед
CODE (htmlphp):
скопировать код в буфер обмена
  1. <xsl:template match="/">
где?

4. Ссылку из п. 5 смотрели?

PS! Я бы лично тестировал в FF xml. Т.к. IE часто срет на стандарты и правила. В Microsoft у индусов свое понимание стандартов W3C и брать IE как тестовый браузер можно только в последнем случае(ну или если требуется поддержка корпоративного говна(старья)).

(Отредактировано автором: 07 Июля, 2014 - 10:03:55)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
ddess
Отправлено: 07 Июля, 2014 - 23:57:27
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июль 2012  


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




С вашей строчкой - работает.

Дело не в моем предпочтении к IE.
Нигде в учебниках нет этой строчки.
Причем, авторы часто не отражают и дату написания своих учебников и примерчиков.


Могёте посоветовать в тырнете современный онлайн учебник по XML, XSL, думам и прочим,
чтоб не слишком толмудный, но достаточный, для новичков ?

(Отредактировано автором: 08 Июля, 2014 - 00:00:50)

 
 Top
caballero
Отправлено: 08 Июля, 2014 - 00:10:52
Post Id


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


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




при чем тут XSL
браузеру нужно просто указать в заголовке какой тип данных ему передается X<L или просто текст
или расширение файла передавать не xml а txt например


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Viper
Отправлено: 08 Июля, 2014 - 09:16:18
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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






-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
ddess
Отправлено: 08 Июля, 2014 - 12:03:37
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июль 2012  


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




Спасибо, друг !

Жаль, на японском не дали источник новичку.
Я японский обожаю.
 
 Top
Мелкий Супермодератор
Отправлено: 08 Июля, 2014 - 12:35:18
Post Id



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


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


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




ddess пишет:
Жаль, на японском не дали источник новичку.
Я японский обожаю.

Вам повезло!
https://developer[dot]mozilla[dot]org/ja[dot][dot][dot]cs/XSLT_in_Gecko
https://developer[dot]mozilla[dot]org/ja/docs/XPath


-----
PostgreSQL DBA
 
 Top
ddess
Отправлено: 08 Июля, 2014 - 12:36:08
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июль 2012  


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




В долбанном FF смотришь исходный код страницы:

<?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet type="text/xsl" href="aa.xsl" ?>

<tutorial>
<dog caption="������: " name="�����">
������ !
<dogInfo weight="18 ��" color="����� � ������� �����������"/>
</dog>
</tutorial>


А в неправильном IE вывод правильный

<?xml version="1.0" encoding="windows-1251"?>
<?xml-stylesheet type="text/xsl" href="aa.xsl" ?>

<tutorial>
<dog caption="Собака: " name="Шарик">
Привет !
<dogInfo weight="18 кг" color="рыжий с черными подпалинами"/>
</dog>
</tutorial>

(Отредактировано автором: 08 Июля, 2014 - 12:38:16)

 
 Top
caballero
Отправлено: 08 Июля, 2014 - 13:13:26
Post Id


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


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


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




браузеры не обязаны делать XSL преобразования
преобразовывайте на сервере и отправляйте в браузер нормальный HTML


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Viper
Отправлено: 08 Июля, 2014 - 20:02:19
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




ddess это не FF долбаный, это кодировка у вас придурошная. Используйте UTF-8. Избавитесь от многих проблем.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
ddess
Отправлено: 09 Июля, 2014 - 14:23:49
Post Id


Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Июль 2012  


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




Viper пишет:
ddess это не FF долбаный, это кодировка у вас придурошная. Используйте UTF-8. Избавитесь от многих проблем.


То бишь, IE в данном случае, понимает обе кодировки,
а долбанный FF - только UTF-8.

А кодировка windows-1251 - тоже придурочная, потому что ее понимает только IE, а не FF !!


Viper,
я понимаю исторические традиционные мозоли IE,
но речь идет о конкретном случае, в котором IE радует больше и ближе к людям.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« XML и его обработка »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB