How to configure JAXB unmarshaller so it will trim leading and trailing whitespaces from strings?
For instance let’s consider a simple binding between a Java bean and XML using JAXB annotations:
@XmlRootElement(name='bean') class Bean { @XmlElement(required=true) String name; @XmlElement(required=true) int number; }
I would like to be able to unmarshal XML given bellow so bean.name does not include starting and trailing whitespaces – is ‘My name‘, not ‘\n My name\n ‘.
<bean> <name> My name </name> <number>1</number> </bean>
Use a custom Adapter class. I was thinking that NormalizedStringAdapter would do the work but it’s only for unmarshaling and it doesn’t do what you want anyway.
then decorate the field with your adapter like this: