View Javadoc
1   package civitas.common;
2   
3   import java.io.IOException;
4   import java.io.Reader;
5   import java.io.StringReader;
6   
7   import org.springframework.stereotype.Controller;
8   
9   import jakarta.xml.bind.JAXBContext;
10  import jakarta.xml.bind.JAXBException;
11  import jakarta.xml.bind.Unmarshaller;
12  import jakarta.xml.bind.annotation.adapters.NormalizedStringAdapter;
13  
14  @Controller
15  public class ConvertFromXml {
16  
17  	public <T> T apply(final String xmlString, final Class<T> klass) throws JAXBException, IOException {
18  		JAXBContext context = JAXBContext.newInstance(klass);
19  		Unmarshaller unmarshaller = context.createUnmarshaller();
20  		unmarshaller.setAdapter(new NormalizedStringAdapter());
21  
22  		try (Reader reader = new StringReader(xmlString)) {
23  			Object o = unmarshaller.unmarshal(reader);
24  			return klass.cast(o);
25  		}
26  	}
27  }