Как я могу узнать иерархию любого XML-документа? - PullRequest
0 голосов
/ 03 апреля 2019

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

Проблема:

DTD отсутствует, и структура файлов XML может измениться. При загрузке файла я хочу предложить диалоговое окно, в котором пользователь может выбрать, какие элементы и атрибуты следует отображать, а какой элемент представляет набор данных (в приведенном выше примере это будет <video>).

Мои соображения:

Мне бы пришлось каким-то образом получить DTD из любого XML-документа. Затем я могу отобразить элементы и атрибуты в графическом интерфейсе и осуществить выбор с помощью подходящих элементов графического интерфейса. Но я не знаю, как узнать, какой элемент, какие подэлементы могут иметь - так какова иерархия элементов.

Мой вопрос:

Кто-нибудь знает, как мне лучше всего подойти к этому?

...