2016-07-23 29 views

Antwort

0

Hier ist ein einfacher Weg mit einem JAXB Adapter, wenn die zu entfernenden Zeichen für String-Instanzen sind. Wenn es für andere Klassen ist, bleibt die allgemeine Logik, die hier präsentiert wird, gleich.

Adapter Klasse:

import javax.xml.bind.annotation.adapters.XmlAdapter; 


public class StringAdapter extends XmlAdapter<String, String> { 

    @Override 
    public String unmarshal(String string) throws Exception { 
      return string; 
    } 

    @Override 
    public String marshal(String string) throws Exception { 
     return string.replaceAll("[*+-]", ""); 
    } 

} 

dann Ihre XMLAdapter um konfigurieren, dass er während des Marshalling verwendet wird.
Sie können in der jaxb tun, Datei-Bindung (http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.5/tutorial/doc/JAXBUsing4.html), wenn Sie es für alle pojo Klassen mit JAXB verallgemeinern wollen, oder Sie können in den Ziel pojo Klassen über Annotation auf dem String-Feld direkt den Adapter gelten:

@XmlJavaTypeAdapter(value = StringAdapter.class) 
    private String string;