Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> получение xml-кода, созданного другим php на лету, simplexml_load_file('xml.php') 
:(
    Опции темы
Alx
Дата 1.5.2007, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78



делаю вот так:

Код

<?php
$sxe = simplexml_load_file('xml_out.php5');
echo $sxe->asXML();
?>


возвращает ошибки (FF, IE):

Цитата

Warning: simplexml_load_file() [function.simplexml-load-file]: xml_out.php5:10: parser error : Extra content at the end of the document in h:\home\dev\www\xml\_test\php5\load_from_php.php5 on line 5

Warning: simplexml_load_file() [function.simplexml-load-file]: XML; */ in h:\home\dev\www\xml\_test\php5\load_from_php.php5 on line 5

Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in h:\home\dev\www\xml\_test\php5\load_from_php.php5 on line 5

Fatal error: Call to a member function asXML() on a non-object in h:\home\dev\www\xml\_test\php5\load_from_php.php5 on line 6


Цитата

Не удается отобразить страницу XML 
Не удается просмотреть ввод XML с использованием списка стилей XSL. Исправьте ошибку и затем нажмите кнопку "Обновить"или повторите попытку позднее. 


--------------------------------------------------------------------------------

В документах XML допускается только один элемент верхнего уровня. Ошибка при обработке ресурса ''http://dev/xml/_test/php5/load_from_php.php5''. Строка 2,Положение 2 

<b>Warning</b>:  simplexml_load_file() [<a href='function.simplexml-load-file'>function.simplexml-load-file</a>]: xml_out.php5:10: parser error : Extra content at the end of the document in <b>h:\home\dev\www\xml\_test\php5\load_from_php.php5</b> on line <b>5</b><br />
-^


xml_out.php5 // сам по себе работает, выводит валидный xml-документ
Код

<?php
header('Content-Type:application/xml');

$out = <<<XML
<?xml version="1.0" encoding="windows-1251" ?>
<root>
  <node>1</node>
  <node>2</node>
</root>
XML;

echo $out;

///// ИЛИ так: /////

$sxe = simplexml_load_file('xml.xml');
$out = $sxe->asXML();

echo $out;
?>


xml.xml
Код

<?xml version="1.0" encoding="windows-1251" ?>
<root>
  <node>1</node>
  <node>2</node>
</root>


что не так?

Это сообщение отредактировал(а) Alx - 1.5.2007, 21:15


--------------------
PM MAIL WWW ICQ   Вверх
check
Дата 2.5.2007, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 610
Регистрация: 3.4.2006

Репутация: 1
Всего: 23



Цитата(Alx @  1.5.2007,  21:14 Найти цитируемый пост)
$sxe = simplexml_load_file('xml_out.php5');
Я не пользовался simpleXML и возможно чего-то недопонимаю,   но ты уверен,    что получаешь таким образом не сам скрипт xml_out.php5 ?   smile 
Или я вообще ничего не понимаю...

К тому же по-моему, функция simplexml_load_file() вообще не может получить вывод скрипта,  так как она принимает параметром имя файла.    Должна подойти simplexml_load_string().


Это сообщение отредактировал(а) check - 2.5.2007, 11:04
PM MAIL   Вверх
Alx
Дата 15.5.2007, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78



а как загрузить в переменную выходные данные файла? file_get_contents возвращает выходные данные только при обработке файла с другого сервера.. а с текущего - возвращает содержимое файла..


--------------------
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 16.5.2007, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 1
Всего: 69



Цитата(Alx @  15.5.2007,  14:12 Найти цитируемый пост)
file_get_contents возвращает выходные данные только при обработке файла с другого сервера.. а с текущего - возвращает содержимое файла.. 

Через апача забирай этот файл, т.е. по http.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Alx
Дата 16.5.2007, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78



-=Ustas=-, 
а разве он при этом не будет тормозить (если оч крупный файл)? т.е. не будет перессылки никакой?


--------------------
PM MAIL WWW ICQ   Вверх
check
Дата 17.5.2007, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 610
Регистрация: 3.4.2006

Репутация: 1
Всего: 23



Есть ещё вариант получения вывода через буфер
Код

ob_start();
include('xml_out.php5');
$output = ob_get_contents();
ob_end_clean();


PM MAIL   Вверх
Alx
Дата 17.5.2007, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78



вот, спасибо smile


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 19.6.2007, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: нет
Всего: 78



а можно сделать какое-то универсальное действие, если я, к примеру, не знаю, что у меня открывается - xml или php. потому что если использовать способ check, то, конечно если подгружаться будет xml-файл, будет вызвана ошибка. как это можно обойти? или может всё таки лучше подгружать файлы через http://?


--------------------
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1467 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.