Ответ 1
Использовать пользовательский класс адаптера. Я думал, что NormalizedStringAdapter будет выполнять эту работу, но это только для unmarshaling, и он не делает того, что вы хотите в любом случае.
public class MyNormalizedStringAdapter extends XmlAdapter<String, String> {
@Override
public String marshal(String text) {
return text.trim();
}
@Override
public String unmarshal(String v) throws Exception {
return v.trim();
}
}
затем украсьте поле адаптером следующим образом:
@XmlElement(required=true)
@XmlJavaTypeAdapter(MyNormalizedStringAdapter.class)
String name;