JAXB: Как сохранить последовательные пробелы, как они есть в исходном XML во время демаршаллинга

Я использую JAXB, чтобы разобрать XML-сообщение. Кажется, он заменяет несколько последовательных пробелов одним пробелом.

<testfield>this is a       test<\testfield>

(несколько пробелов между a и test)

после анархирования вышесказанное становится:

this is test

Как сохранить последовательные пробелы, как они есть в исходном XML?

1 ответ

Со страницы MSDN:

Авторы документов могут использовать атрибут xml:space для определения частей документов, где пробел считается важным. Таблицы стилей также могут использовать атрибут xml:space в качестве хука для сохранения пустого пространства в презентации. Однако, поскольку многие приложения XML не понимают атрибут xml:space, его использование считается рекомендательным.

Вы можете попробовать добавить xml:space="preserve", чтобы он не заменял пробелы

<poem xml:space="default">
<author xml:space="default">
<givenName xml:space="default">Alix</givenName>
<familyName xml:space="default">Krakowski</familyName>
</author>
<verse xml:space="preserve">
<line xml:space="preserve">Roses   are  red,</line>
<line xml:space="preserve">Violets  are  blue.</line>
<signature xml:space="default">-Alix</signature>
</verse>
</poem>

http://msdn.microsoft.com/en-us/library/ms256097%28v=vs.110%29.aspx

Другие вопросы по тегам