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