以下に示すようにxstream APIを使用していましたが、JAXBのようなJava自体でxstream以外のAPIでxmlからJavaオブジェクトへの変換プロセスと同じことを達成できるかどうか教えてください。可能であれば、xstreamを使用する以外にこれを変換するにはどうすればよいですか..
xml ファイルから構成をロードする必要があるとします。
01 <config>
02 <inputFile>/Users/tomek/work/mystuff/input.csv</inputFile>
03 <truststoreFile>/Users/tomek/work/mystuff/truststore.ts</truststoreFile>
04 <keystoreFile>/Users/tomek/work/mystuff/CN-user.jks</keystoreFile>
05
06 <!-- ssl stores passwords-->
07 <truststorePassword>password</truststorePassword>
08 <keystorePassword>password</keystorePassword>
09
10 <!-- user credentials -->
11 <user>user</user>
12 <password>secret</password>
13 </config>
そして、それを Configuration オブジェクトにロードします。
01 public class Configuration {
02
03 private String inputFile;
04 private String user;
05 private String password;
06
07 private String truststoreFile;
08 private String keystoreFile;
09 private String keystorePassword;
10 private String truststorePassword;
11
12 // getters, setters, etc.
13 }
したがって、基本的に私たちがしなければならないことは次のとおりです。
1 FileReader fileReader = new FileReader("config.xml"); // load our xml file
2 XStream xstream = new XStream(); // init XStream
3 // define root alias so XStream knows which element and which class are equivalent
4 xstream.alias("config", Configuration.class);
5 Configuration loadedConfig = (Configuration) xstream.fromXML(fileReader);