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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Из XML в массив 
:(
    Опции темы
primebit
Дата 27.3.2008, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день.

В JavaScript'е не особо силен и весь моск уже сломал на такой задачей:
необходимо xml данные преобразовать в многомерный массив.

Например:

есть xml-данные

Код

<response>
    <status>ok</status>
    <userdata>
        <login>admin</login>
        <realname>Administrator</realname>
    </userdata>
</response>


необходимо привести это все безобразие к такому массиву

Код

array{
    "status"=>"ok",
    "userdata"=>array{
        "login"=>"admin",
        "realname"=>"Administrator"
    }
}


Если у кого есть готовая функция, то поделитесь сорцами, пожалуйста.

Заранее благодарю!
PM MAIL   Вверх
primebit
Дата 28.3.2008, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вчера написал вот такую вот конструкцию, но где-то здесь косяк. На выходу массив result чистый.

Код

function CommonFunc(){

}

CommonFunc.prototype={
    parsResponse:function(xml_data){
        root=xml_data.getElementsByTagName("response")[0];
        childs=root.childNodes;
        return this.parsXml(childs);
    },
    
    parsXml:function(childs){
        var result = new Array();
        for(i=0;i<=childs.length;i++){
            if(childs[i].firstChild.nodeType==1){
                ch=childs[i].childNodes;
                result[childs[i].nodeName]=this.parsXml(ch);
                alert(result[childs[i].nodeName]);
            }else{
                result[childs[i].nodeName]=childs[i].firstChild.data;
                alert(result[childs[i].nodeName]);
            }
        }
        alert(result["status"]);
        return result;
    }
};


Помогите разобраться в чем дело. Сам процесс разбора xml работает на ура.
PM MAIL   Вверх
primebit
Дата 28.3.2008, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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


 




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


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

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