Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XML2Array 
:(
    Опции темы
Diesel Draft
  Дата 7.10.2006, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

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




Здраствуйте. У меня есть XML такого вида:

Код

<packet>
  <session>74</session>
    <item>
        <type>MPublic</type>
        <to>user2</to>
        <text>some text</text>
    </item>
</packet>


Вме нужна фунція котороя б перетворяла XML в масив и обратно. Ну я з масива в XML и сам напишу. А как щделать парсер я не знаю. 

П.С. Все даные загружаютса XMLHttpRequest. Но дом елемент не создаетса.




--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
rcdimon
Дата 7.10.2006, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Регулярками разумеется
PM MAIL ICQ   Вверх
Sardar
Дата 7.10.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата(rcdimon @  7.10.2006,  13:11 Найти цитируемый пост)
Регулярками разумеется

Запретить это выражение как чудовищную ересь  smile 

Цитата(Diesel Draft @  7.10.2006,  11:21 Найти цитируемый пост)
П.С. Все даные загружаютса XMLHttpRequest. Но дом елемент не создаетса.

А как это тебе удалось? responseXML будет создан, если нет синтаксических ошибок в полученом XML. У тебя их вроде нет. Можно создать DOM документ самим, замени в примере load(url) на loadXML(твой_текст).


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Diesel Draft
Дата 7.10.2006, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

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



вот откуда я  беру XML http://avtobroker.org.ua/server.php

Добавлено @ 22:29 
Не можу зайти нормально на силку 


А можете дать готовую фунцию


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
Sardar
Дата 8.10.2006, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата(Diesel Draft @  7.10.2006,  21:24 Найти цитируемый пост)
вот откуда я  беру XML http://avtobroker.org.ua/server.php

Ну и? Дёргаешь то ведь через XMLHttpRequest, так и обращайся к request.responseXML.documentElement.getElementsByTagName("item");

Moжно ИЕ'шный selectNodes(XPath_exp) запользовать, для мозиллы реализацию selectNodes находишь в гугле (или пользуешь чистый DOM 3 XPath, но он громоздок)


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Diesel Draft
Дата 8.10.2006, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

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



XMLHttpRequest для ктого XML не хочет создавать  DOM


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
Sardar
Дата 9.10.2006, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Цитата(Diesel Draft @  8.10.2006,  21:19 Найти цитируемый пост)
XMLHttpRequest для ктого XML не хочет создавать  DOM

А слабо прочитать .statusText ?  Также с чего ты решил что responseXML не создаёться?
На то могут быть две причины: ошибка синтаксиса (не заметил), отсутствие <?xml version="1.0" ?>


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
skyboy
Дата 9.10.2006, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Цитата(Sardar @  8.10.2006,  23:47 Найти цитируемый пост)
отсутствие <?xml version="1.0" ?> 

или отсутсвие '<response></response>'...
PM MAIL   Вверх
Diesel Draft
Дата 9.10.2006, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

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



ни однго ни другого у меня нет. Зара попробую поставить


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
Diesel Draft
Дата 9.10.2006, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

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



А можете дать сылку на документ которий 100% загружаетса через XMLHttpRequest и зоздает ДОМ? 


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
Sardar
Дата 9.10.2006, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Сохрани это у себя на сервере в любой .xml

Код
<?xml version="1.0" encoding="utf-8"?>
<!-- если сохраняешь не в UTF-8, то encoding нужно поменять (cp1251 - виндовая кирилица) -->
<diesel>
   <draft>Я бы изменил мир, но Бог не дает исходники</draft>
</diesel>


Затем открой любым браузером, убедись, что ни на что не ругается. Подгрузи как обычно, всё должно работать.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Diesel Draft
Дата 10.10.2006, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

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



нет, не пошло  smile 

Я даю код програмы. Возвожно у меня там штото не так. 


Код


                    function sendRequest(to, type, text){
                        text = to + '?' + text;
                        
                        var oRequest = getRequestObject();
                        
                        oRequest.open(type, text, true, this.User, this.Password);
                        
                        if (type == "POST"){
                            try {
                                oRequest.setRequestHeader("Method", "POST " + text + " HTTP/1.1");
                                oRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                            }
                            catch(e){
                                alert("You brouser dot's support POST metod");
                                return false;
                            }
                        }
                        
                        oRequest.onreadystatechange = function(){
                        if (oRequest.readyState != 4) return;
                            if(oRequest.status == 200){
                                oAjax.Text = oRequest.responseText;
                                    if(oRequest.responseXML.documentElement && oRequest.responseXML){
                                        oAjax.XML = XMLHTTPRequest.responseXML;
                                    }else{
                                        oAjax.XML = null;
                                    }
                                oAjax.OnSend(oAjax.Text, oAjax.XML);
                            }else {
                                alert("Error retrieving data!");
                            }
                            
                            delete oRequest;
                            oRequest = null;
                            oAjax.OnSendEnd();    
                        }
                        
                        
                        this.OnSendBegin();
                        oRequest.send(text);
                        if (oRequest){
                            delete oRequest;
                        }                        

                        
                        
                    }

                    function Ajax(){
                        this.SendTo        = sendRequest;
                        this.QSend        = null
                        this.Send        = null;
                        this.Add         = null;
                        
                        this.OnSendBegin    = function(){};
                        this.OnSend        = function(text, xml){};
                        this.OnSendEnd        = function(){};
                        
                        this.Type            = "POST";
                        this.URL            = '';
                        this.User            = '';
                        this.Password        = '';
                        
                        this.SendText        = '';
                        
                        this.Text          = '';
                        this.XML            = null;
                        
                        
                        
                        this.QSend = function(field, value){
                            var text = field + '=' + encodeURIComponent(value);
                            this.SendTo(this.URL, this.Type , text);    
                        }
                        
                        this.Send = function(){
                            this.SendTo(this.URL, this.Type , this.SendText);
                            this.SendText = '';    
                        }
                        
                        this.Add = function(field, value){
                            if(this.SendText == ''){
                                this.SendText = field + '=' + encodeURIComponent(value);
                            }else{
                                this.SendText = this.SendText + '&' + field + '=' + encodeURIComponent(value);
                            }    
                        }                        
                        
                        
                    }
                    
                    
                    
                    oAjax = new Ajax;    




--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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