Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.09.2010, 03:12
Интересующийся
Отправить личное сообщение для pashak Посмотреть профиль Найти все сообщения от pashak
 
Регистрация: 08.04.2010
Сообщений: 16

XMLtoJSON: как удобнее?
Есть XML данные (неважно, получены ли через XMLHttpRequest, либо отпарсены со строки), в которых содержатся данные, которые необходимо отправить каждые в свою функцию. Для ускорения работы я преобразовываю XML в JSON.
Например (от балды, названия тегов, атрибуты и значения не играют роли):
<xml>
    <obj attr='v1'><d/></obj>
    <q att='3'><z/><z/></q>
    <q att='1'></q>
    <ggg>345</ggg>
</xml>

в такой вид:
{
    "obj":[{
              "attr":"v1",
              "d":[{}]
           }],
    "q":[
             {"att":"3","z":[{},{}]},
             {"att":"1"}
         ],
    "ggg":[{"$value":"345"}]
}

Т.е. аттрибуты были строковыми свойствами, текстовые значения - как свойства $value (хотя это было плохо, например, в ситуациях, когда помимо текста есть и вложенные теги), а вложенные дочерние теги организовывались как свойства-массивы.
Такая ситуация спасала до тех пор, пока не возникла необходимость:
1) во-первых, отслеживать точный порядок тегов;
2) во-вторых, помимо текста иметь внутри и другие теги.
В общем, задача звучит как "Преобразование в JSON с сохранением порядка XML".
Как вариант вводить дополнительные свойства, например, $all как массив с дочерними объектами (в этом случае сохранится порядок), но я пока сомневаюсь.
Кстати, объект инициируется не обязательно форматом JSON. Важно, чтобы в конце всех преобразований это был объект с вышеуказанными свойствами.
Вся эта лабуда напоминает SimpleXML из PHP.
Что можете посоветовать? Если есть радикально другие варианты удобного преобразования - тоже неплохо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как организовать RichEdit arma Элементы интерфейса 2 18.02.2010 14:57
О наследовании событий, или как корректно его отменить. JCShen Events/DOM/Window 8 09.02.2010 00:00
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20