Десериализация устаревшей XML-структуры в xstream - PullRequest
0 голосов
/ 05 ноября 2008

Я пытаюсь десериализовать структуру XML, которая выглядит следующим образом:

<somecontainer>
    <key1>Value1</key1>
    <key1>Value2</key1>
    <key2>Value3</key2>
    <key2>Value4</key2>
</somecontainer>

Я могу в основном выбрать, к какому типу десериализовать элемент, может быть что-то вроде List of Pair или что-то еще. Суть здесь в том, что имена элементов являются ключами.

И нет, я не могу изменить структуру xml. Кто-нибудь знает, как это сделать с xstream?

Ответы [ 3 ]

1 голос
/ 16 ноября 2008

Я обнаружил, что для этого случая нужен специальный сериализатор, никак не обойтись.

Аналогично

<node attr1="xxx">value1</node>

также нужен собственный сериализатор.

1 голос
/ 16 ноября 2008

Вы можете также рассмотреть возможность преобразования XSL-документа в нормализованную форму перед его десериализацией. Это избавило бы от необходимости специального сериализатора.

Я полагаю, что компромисс заключается в том, проще ли поддерживать пользовательский сериализатор или шаг преобразования XSL?

1 голос
/ 05 ноября 2008

Я некоторое время не использовал XStream, но неявные коллекции , вероятно, делают то, что вы хотите.

...