SmartGWT начинающий - как отобразить XML, введенный в текстовой области в дерево - PullRequest
1 голос
/ 23 марта 2012

Я работаю с Smart GWT 3.0 LGPL - я пытаюсь отобразить в дереве весь блок XML, введенный пользователем в текстовую область.

Я могу получить список узлов из xml, введенного пользователемОднако в Smart GWT виджет Tree принимает в качестве данных только элементы TreeNode [].

Как преобразовать NodeList (полученный с помощью встроенного синтаксического анализатора XML GWT) в TreeNode []?Является ли мой подход правильным (для отображения XML в виде дерева)?Или решение этой проблемы полностью отличается от того, о чем я думаю?

Ответы [ 2 ]

1 голос
/ 23 марта 2012

Я предполагаю, что вы используете объект TreeGrid SmartGWT для создания дерева. TreeGrid - это просто специализированная ListGrid, и, как позже, она может быть привязана к источнику данных, который может легко анализировать XML. Посмотрите на этот пример . Это должно помочь вам найти решение вашей проблемы. Вы можете просто показать только одно поле в TreeGrid, если все, что вам нужно, это простое дерево.

В случае, если вы не можете получить доступ к данным XML через URL, как, например, доступ к ним через вашу текстовую область, после того, как вы проанализировали их как NodeList, вы должны выполнить их итерацию и создать массив объектов TreeNode. Для каждого объекта Something вы должны установить атрибуты его связанного объекта TreeNode, используя методы setAttribute (attributeName, attributeValue). Затем создайте объект Tree, и, начиная с корня, вы можете добавить объекты TreeNode, используя различные методы Tree, в нужной позиции. Затем просто: treeGrid.setData (Tree tree) загрузит и покажет ваши данные в вашей TreeGrid.

0 голосов
/ 23 марта 2012

Вы можете создать массив TreeNode [], размер которого будет равным длине нодлиста, и в цикле выставлять значение. И после этого вы можете установить в дереве этот TreeNode [].

...