Проблема отмены сортировки атрибута с именем «class» в Xstream - PullRequest
1 голос
/ 07 февраля 2011

У меня есть узел с атрибутом с именем class. Входной XML-код:

<Job class="com.test.jobImplementation">
  <Priority>1</Priority>
  ......
</Job>

Класс Java, представляющий XML, аннотируется аннотациями Xstream следующим образом:

@XStreamAlias("Job")
public static class Job {

    @XStreamAsAttribute
    @XStreamAlias("class")
    private String implementationClass;

    @XStreamAlias("Priority")
    private Integer priority

}

Когда я пытаюсь десериализовать XML, xstream не может вернуть ошибку, не связанную с проблемой. (например, когда я заменяю имя атрибута «class» на «classs», он работает нормально.)

Я знаю, что атрибут "class" используется всякий раз, когда XStream не может узнать из XML и объявление поля точно, какой тип использовать, но в этом случае я не могу изменить ввод XML, и мне нужно обработать атрибут «класс».

Есть ли обходной путь для отмены сортировки атрибута XML с именем "class" с помощью Xstream?

1 Ответ

2 голосов
/ 10 февраля 2011

Начиная с XStream 1.3.1, вы можете переопределить эти атрибуты, чтобы имена могли использоваться для ваших собственных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...