
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
08.07.2013, 13:15:53
|
|||
|---|---|---|---|
|
|||
Сохранение значений префиксов атрибутов в поле класса |
|||
|
#18+
Добрый день! Есть такая задача: есть некая XML, содержащая префиксы. Необходимо сохранить данную XML в класс, потом преобразовав значения полей класса обратно конвертнуть в XML. Пытался найти решение - но безуспешно. Для конвертации используется JAXB. Пример XML, которую надо загнать в класс Код: xml 1. 2. Вопрос - как сохранить значение тега Код: xml 1. в поле класса? Может, какие-то аннотации специальные? При обратной конвертации(из класса в XML) всё успешно. Просто добавил аннотацию к полю @XmlAttribute(name="xsi:type") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.07.2013, 13:25:13
|
|||
|---|---|---|---|
|
|||
Сохранение значений префиксов атрибутов в поле класса |
|||
|
#18+
xsi это префикс для namespace. А сам namespace у вас в XML почему-то не указан. Посмотрите примеры http://java.dzone.com/articles/jaxb-and-namespace-prefixes http://stackoverflow.com/questions/3289644/define-spring-jaxb-namespaces-without-using-namespaceprefixmapper Как JAXB работает с namespace. Атрибут, полагаю, будет выглядеть так: Код: java 1. Но сам Namespace надо где-то объявнить как в XML, так и в XSD и маппинге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.07.2013, 14:57:14
|
|||
|---|---|---|---|
|
|||
Сохранение значений префиксов атрибутов в поле класса |
|||
|
#18+
Да, я понял. Маршализация проходит без проблем. при указании в аннотации самого namespace(как вы сказали выше) всё вышло. Но вот при демаршализации всё равно ничего не выходит. Не хочет цеплятся к полю и всё тут. Я, скорее всего, просто до конца не понимаю принцип работы.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
08.07.2013, 15:01:18
|
|||
|---|---|---|---|
|
|||
Сохранение значений префиксов атрибутов в поле класса |
|||
|
#18+
В принципе, как я понял, префикс цепляется к самому namespace. И при демаршализации внимание уделяется самому имени атрибута(в моём случае это type). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.07.2013, 16:23:49
|
|||
|---|---|---|---|
|
|||
Сохранение значений префиксов атрибутов в поле класса |
|||
|
#18+
не вышло, к сожалению, у меня сделать нормальное сохранение значений. Писать отдельный маппер-парсер(как указано в некоторых примерах) может быть выходом, конечно. В общем пока что сделал метод-заглушку(который по содержимому добавляет значение в атрибут xsi:type) Как найду решение - отпишусь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.07.2013, 12:11:01
|
|||
|---|---|---|---|
|
|||
Сохранение значений префиксов атрибутов в поле класса |
|||
|
#18+
В общем, как выяснилось, система, которая будет принимать от меня такие сообщение вообще формирует префиксы вручную(!) И если им передавать ещё какие-либо namespace помимо - у них ошибка. В общем был составлен HashMap со значениями префиксов, и при маршализации в поле, которое имеет у меня описание аннотацией как атрибут с именем xsi:type - заталкивается значение. Потом маршализация. В итоге получаем стройную XML как и просит сторонний разработчик. Конечно, не красивый выход, но пока что выбора нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.09.2013, 10:30:39
|
|||
|---|---|---|---|
|
|||
Сохранение значений префиксов атрибутов в поле класса |
|||
|
#18+
Ура! Они доработали свою систему. И теперь все как по маслу. Пример XML для них Код: xml 1. 2. И(соответсвенно) описание класса для нормальной маршализации/демаршализации Код: java 1. 2. 3. 4. Спасибо ещё раз за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&mobile=1&tid=2128636]: |
0ms |
get settings: |
15ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 298ms |
| total: | 461ms |

| 0 / 0 |
