Десериализатор XML файлов

Для java версии транслятора языка программирования Денеб разработан десериализатор XML файлов. Десериализатор читает xml файлы, DOM структуры или потоки (InputStream) содержащие xml данные и заполняет объекты. В том числе создавая вложенные объекты и векторы (списки вложенных объектов). Десериализация происходит на основе XPath выражений заданных в виде специальной аннотации целевых классов.

Аннотация @Xpath имеет параметры path, value, itemClass, namespaces.

path
XPath выражение. Для вложенных объектов может содержать путь относительно листов соответствующих объекту предыдущего уровня.
value
Булево значение - метка обозначающая что данное поле объекта должно быть заполнено значением XPath выражения. В противном случае поле считается вложенным объектом и его заполнение происходит на основе Xpath аннотаций полей объекта этого типа.
itemClass
Класс элементов вектора (списка вложенных объектов).
namespaces
Список строк представляющий собой перечисление использованных в XPath выражении префиксов и соответствующих им пространств имен. Сначала располагается префикс, а после него пространство имен.

Протестирована работа десериализатора на основе стандартного набора XML классов JAXP и с использованием Saxon9HE в версии Java 1.7. В случае использования Saxon и разбора XML файлов с определением пространств имен обязательно необходимо использовать параметр аннотации namespaces и использовании в качестве ссылки на корень документа двойного слеша "//".
Десериализатор находится в репозитории проекта на GitHub репозиторий. В папке serialization.

Добавить комментарий

CAPTCHA на основе изображений

Или войти через...