Дизайн: 2 jcombobox, список блока 2 зависит от выбора из блока 1, данные из XML

Я поражен попытками найти решение этой проблемы - этопобочный продукт неопытности.

Моя цель - прочитать входной файл XML, сохранить информацию из XML и заполнить два поля со списком данными из XML. Содержимое второго поля со списком будет меняться в зависимости от выбора в первом.

Учитывая эту структуру XML:




    Unique string
    Unique string
    <code>Generic string<code>
    Generic string
    Generic string
            ...

    ...

</code></code>

<code>Первое поле со списком: должно содержать только уникальные значения, найденные в разделе «Вид».</code>

<code>Второе поле со списком: содержит ВСЕ записи имени от каждого узла, вид которого равен виду, выбранному в первом поле со списком.</code>

<code>Что касается источника XML: он поддерживается и генерируется извне. Значения в разделе идентификаторов всегда будут уникальными. Значения в разделе Имя всегда будут уникальными. Схема (предположительно) никогда не изменится. Новые уникальные значения могут появиться в разделе Kind в будущем.</code>

<code>Мое предлагаемое решение: создать класс XMLNode для представления узла из источника XML. Члены класса XMLNode соответствуют тегам в каждом узле. Переберите все узлы и создайте XMLNode для каждого. При прохождении по узлам: добавьте объекты XMLNode в хэш-карту, указав Keys = XMLNode.ID и vals = XMLNode. Создайте массив уникальных видов.</code>

<code>Заполните поле со списком один из массива записей вида. Заполните поле со списком два из данных имени для каждого.</code>

<code>Это подходящий подход, или я упустил лучшее / более легкое / более элегантное решение? Если я'м на правильном пути, есть ли очевидные недостатки моего предложенного решения?</code>

Ответы на вопрос(2)

Ваш ответ на вопрос