У меня есть файл XML (без ссылки на DTD), в котором хранятся фильмы (элемент <video>
). Дочерние элементы <video>
содержат метаданные, такие как сводка (<description>
) или субъект (<actor>
). Элементы могут иметь атрибуты (например, runtime
, resolution
и т. Д.). Я хочу отобразить записи в таблице. Каждый элемент должен представлять собой столбец, которому атрибуты назначаются как вложенные столбцы (я знаю, как это работает с JavaFX).
Проблема:
DTD отсутствует, и структура файлов XML может измениться. При загрузке файла я хочу предложить диалоговое окно, в котором пользователь может выбрать, какие элементы и атрибуты следует отображать, а какой элемент представляет набор данных (в приведенном выше примере это будет <video>
).
Мои соображения:
Мне бы пришлось каким-то образом получить DTD из любого XML-документа. Затем я могу отобразить элементы и атрибуты в графическом интерфейсе и осуществить выбор с помощью подходящих элементов графического интерфейса. Но я не знаю, как узнать, какой элемент, какие подэлементы могут иметь - так какова иерархия элементов.
Мой вопрос:
Кто-нибудь знает, как мне лучше всего подойти к этому?