Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.03.2017, 10:00
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Вывод xml в виде иерархического дерева
Доброго времени суток, форумчане! Имеется xml вида:
<history>
                        <auditChangeList>
                        <row sTime='21.05.2017 12:57:01' autor='07A9C442-F6D4-4C4E-898D-1AD948F9BCC7'>
                        <changedItem propertyName='каталог №1'>
                        <oldValue>old</oldValue>
                        <newValue>new</newValue>
                        <propertyType>int</propertyType>
                        </changedItem>
<changedItem propertyName='каталог №11'>
                        <oldValue>old</oldValue>
                        <newValue>new</newValue>
                        <propertyType>int</propertyType>
                        </changedItem>
                        </row>
 <row sTime='20.05.2017' autor='08A9C442-F6D4-4C4E-898D-1AD948F9BCC7'>
                        <changedItem propertyName='каталог №2'>
                        <oldValue>old</oldValue>
                        <newValue>new</newValue>
                        <propertyType>string</propertyType>
                        </changedItem>
<changedItem propertyName='каталог №22'>
                        <oldValue>old</oldValue>
                        <newValue>new</newValue>
                        <propertyType>int</propertyType>
                        </changedItem>
                        </row>
                        </auditChangeList>
                        </history>

необходимо вывести её в виде иерархического справочника, смотрю в сторону kendoTreeLista, опыт по созданию kendoTreeLista есть, но там для построения иерархии необходимы поля id, parentId, у меня их нет, а если добавить неясно куда, буду рад любым советам
Ответить с цитированием
  #2 (permalink)  
Старый 09.03.2017, 12:51
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

Я имел опыт с кендо... Если дерево большое (больше 500 узлов), то рекомендую отказаться от их реализации, очень тормозит браузер (как на десктопах так и на мобильных платформах), рендеринг может падать до 5-10 fps.

Ну а если производительность не на первом месте, то просто добавьте поля id и parentId в ваш xml, а потом передавайте его в кендо.
Ответить с цитированием
  #3 (permalink)  
Старый 09.03.2017, 14:57
Кандидат Javascript-наук
Отправить личное сообщение для AlexTrader Посмотреть профиль Найти все сообщения от AlexTrader
 
Регистрация: 23.12.2016
Сообщений: 121

Сообщение от TestUser013 Посмотреть сообщение
Я имел опыт с кендо... Если дерево большое (больше 500 узлов), то рекомендую отказаться от их реализации, очень тормозит браузер (как на десктопах так и на мобильных платформах), рендеринг может падать до 5-10 fps.

Ну а если производительность не на первом месте, то просто добавьте поля id и parentId в ваш xml, а потом передавайте его в кендо.
Да, я сталкивался с этим, проблема этого вопроса в том что нельзя дерево разбить на страницы. Я понимаю, что нужно добавить эти два поля, но куда конкретно?
Ответить с цитированием
  #4 (permalink)  
Старый 09.03.2017, 15:12
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

В идеале надо сделать так:
- на основе xml создать массив объектов, где каждый объект является нодой(узлом)
- к каждой полученному объекту надо добавить свойства id и parentId (для корневого узла parentId: null)

Я бы рекурсивно прошелся по xml документу, в роли id я бы сделал примитивный счетчик (index++), а по мере погружения в дочерние узлы передавал в эту рекурсивную функцию этот index в роли parentId.

ps: этот вариант более приемлемый для кендо так как ему не придется самостоятельно парсить xml документ и более приемлемый вообще, потому что вам в любом случаи надо пройтись по всему xml документу чтобы добавить необходимые свойства.

ps1: другое дело, если обновлять это "дерево" нужно часто, опять упретесь в потерю продуктивности...

Последний раз редактировалось TestUser013, 09.03.2017 в 15:24.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка запроса в виде XML файла на сервер и получение ответа sojar Общие вопросы Javascript 0 23.08.2015 12:34
popup меню и форматированный вывод xml на popup меню mr_virtus Элементы интерфейса 1 10.07.2015 20:06
вывод xml дерева на js kdes70 Events/DOM/Window 3 18.02.2015 08:31
Вывод каталога в виде дерева на js Greyson Элементы интерфейса 8 15.06.2014 09:22
Вывод по условию данных из xml OblivionR Общие вопросы Javascript 4 02.04.2014 17:01