Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.01.2015, 22:33
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 1  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
По умолчанию Как распарсить xml из флеша в php

Столкнулся с проблемой которую не могу никак решить, передаю из флеша в php xml
Код AS3:
function SendBotsUser(){
	var vars:URLVariables = new URLVariables();
	vars['type']=['add_bots'];
	vars['xml']='<xml><bot login="BOT2" select_room="гогого" id_unreg_user="">SharaBot</bot></xml>';
	var requestmes:URLRequest = new URLRequest;
 
	requestmes.url = "http://troll_ch/bots.php";
 
	requestmes.method = URLRequestMethod.POST;
	requestmes.data = vars;
	sendToURL(requestmes);
}
и не могу никак его распарсить в php, знатоки php помогите с парсингом
PHP код:
function pars_xml () {
$servertime time();
$req $_POST['xml'];
 
 
//mysql_query("INSERT INTO tb_room SET Login='$req',Time='$servertime',user_type='unregistered',Room='$select_room' ");
//$req = '<xml><bot login="BOT2" select_room="гогого" id_unreg_user="">SharaBot</bot></xml>';
$xml = new SimpleXmlIterator ($req);
        foreach (
$xml as $bot)
                {
                         
$select_room $bot['select_room'];
                         
$login $bot['login'];
                       
                        
mysql_query("INSERT INTO tb_room SET Login='$bot',Time='$servertime',user_type='unregistered',Room='$select_room' ");
                       
                               
                }
 

Самый прикол в том что если есть атрибуты, то оно не парсится, без атрибутов всё работает нормально, также всё передаётся, если просто вставить строку в таблицу то вставляет норм xml который я передавал. Есть знатоки php помогите плиз?

Старый 02.01.2015, 10:54
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 2  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Я обычно через DOMDocumetn с XML-ем в php работаю.
PHP код:
$currXml = new DOMDocument();
$currXml->loadXML($textSource); // ну и далее уже как обычным xml-ем 
__________________
interplanety

Старый 04.01.2015, 10:40
bifidokk вне форума Посмотреть профиль Отправить личное сообщение для bifidokk Найти все сообщения от bifidokk
  № 3  
Ответить с цитированием
bifidokk
 
Аватар для bifidokk

Регистрация: Jan 2011
Сообщений: 200
либо http://php.net/manual/ru/book.simplexml.php

Старый 04.01.2015, 17:12
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 4  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
пишу такой код
PHP код:
$req $_POST['xml'];
$xml  = new SimpleXMLElement($req); 
и вот эта строчка не работает: $xml = new SimpleXMLElement($req);
может надо както создать xml, причём она не рабоатет только когда передаю xml методом пост х)

Добавлено через 6 часов 14 минут
Цитата:
Сообщение от Korchy Посмотреть сообщение
Я обычно через DOMDocumetn с XML-ем в php работаю.
PHP код:
$currXml = new DOMDocument();
$currXml->loadXML($textSource); // ну и далее уже как обычным xml-ем 
а как распарсить мою xml с помощью DOMDocument?

Старый 05.01.2015, 10:52
bifidokk вне форума Посмотреть профиль Отправить личное сообщение для bifidokk Найти все сообщения от bifidokk
  № 5  
Ответить с цитированием
bifidokk
 
Аватар для bifidokk

Регистрация: Jan 2011
Сообщений: 200
может потому что у вас в этот момент в $_POST['xml'] ничего нет?

Старый 05.01.2015, 11:09
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 6  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Цитата:
Сообщение от grafillo! Посмотреть сообщение
а как распарсить мою xml с помощью DOMDocument?
При использовании loadXml из текста уже распарсивается xml. Что именно нужно - смотри документацию.

http://php.net/manual/ru/class.domdocument.php

Например пробег по узлам будет выглядить как-то так:

PHP код:
$U = new DOMDocument();
$U->loadXML($text);
foreach(
$U->firstChild->childNodes as $Node) {
echo 
$Node->nodeValue;

__________________
interplanety

Старый 05.01.2015, 11:36
grafillo! вне форума Посмотреть профиль Отправить личное сообщение для grafillo! Найти все сообщения от grafillo!
  № 7  
Ответить с цитированием
grafillo!

Регистрация: Sep 2011
Сообщений: 366
Цитата:
Сообщение от bifidokk Посмотреть сообщение
может потому что у вас в этот момент в $_POST['xml'] ничего нет?
нет не пустой я проверял всё норм передаётся

Добавлено через 30 секунд
Цитата:
Сообщение от Korchy Посмотреть сообщение
При использовании loadXml из текста уже распарсивается xml. Что именно нужно - смотри документацию.

http://php.net/manual/ru/class.domdocument.php

Например пробег по узлам будет выглядить как-то так:

PHP код:
$U = new DOMDocument();
$U->loadXML($text);
foreach(
$U->firstChild->childNodes as $Node) {
echo 
$Node->nodeValue;

а как пройтись по атрибутам?

Старый 05.01.2015, 12:29
Korchy вне форума Посмотреть профиль Отправить личное сообщение для Korchy Найти все сообщения от Korchy
  № 8  
Ответить с цитированием
Korchy
 
Аватар для Korchy

Регистрация: May 2011
Сообщений: 301
Записей в блоге: 2
Цитата:
Сообщение от grafillo! Посмотреть сообщение
а как пройтись по атрибутам?
Ну все же есть в документации.

PHP код:
foreach($node->attributes as $attr) {
echo 
attr->nodeValue;

__________________
interplanety

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:27.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


Часовой пояс GMT +4, время: 06:27.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.