Задать вопрос
aerdev
@aerdev

Как заполнить TableView из xml файла?

Имеется xml-файл со следующим фрагментом:
<cmn:id>246963</cmn:id>
<cmn:ext>ext</cmn:ext>
<cmn:par>
	<base:code>11-11-11</base:code>
	<cmn:char>
		<base:type>text</base:type>
		<base:value>value</base:value>
	</cmn:char>
</cmn:par>
<cmn:name>Объект</cmn:name>
<cmn:price>50</cmn:price>

Для создания и заполнения таблицы у меня такой код:
public void createColumnsFromMap(Map<String, String> sourceMap, TableView<List<String>> tableView) {
    List<String> vaList = new ArrayList(); //лист для значений элементов
    if(tableView.getColumns().isEmpty()) {
        for(Map.Entry<String, String> entry : sourceMap.entrySet()) {
            tableView.getColumns().add(new TableColumn<List<String>, String>(entry.getKey().substring(entry.getKey().lastIndexOf(':')+1))); //тут создаются коолнки таблицы
            vaList.add(entry.getValue());
        }
    }
    tableView.getItems().add(vaList); //тут я пытаюсь вставить строку в таблицу
}

В итоге сами колонки (названия берутся из тегов) создаются корректно, но строка получается пустой:
6828dd29a1f84096303994.jpeg
Проблема вот в чём.
Я предполагаю, что представленный фрагмент xml не обязательно должен иметь постоянное количество полей, они могут удаляться или добавляться. И мне нужно чтобы в таблице были все поля из xml. Все решения относительно заполнения таблицы, которые мне попадались в сети, основаны на создании класса с описанием полей для строк таблицы (например: https://stackoverflow.com/questions/39752147/javaf...). Я подозреваю, что мне такой метод не подходит, потому, что кол-во полей может меняться. Поэтому я попробовал заполнить таблицу через List.
Есть ли какой-нибудь способ это сделать?
  • Вопрос задан
  • 11 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы