是否可以从xml配置文件动态声明java pojo类?

时间:2015-05-18 18:31:23

标签: java xml

是否可以从xml配置文件动态声明java pojo bean类?

说配置文件是否像 - A.xml:

   <xml>
    <memberValues>
    <memberValue>
    <dataType>String</dataType>
    <name>productName</name>
    <value>Hello World!</value>
    </memberValue>
    <memberValue>
    <dataType>Double</dataType>
    <name>productPrice</name>
    <value>31.99</value>
    </memberValue>
    ...
    <memberValues>
    </xml>

它应该像动态一样声明一个新的java pojo bean类 - A.java:

   public class A{
    private String productName = "Hello World!";
    private Double productPrice = 31.99;

    //getters and setters
    ...
    }

3 个答案:

答案 0 :(得分:1)

最好的办法是生成Java源代码并调用JavaCompiler类。见http://docs.oracle.com/javase/7/docs/api/javax/tools/JavaCompiler.html

答案 1 :(得分:0)

答案 2 :(得分:-1)

您可以使用JAXB java API

来完成

如果你的xml是,

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
<employee id="1">  
    <name>User</name>  
    <salary>50000.0</salary>  
</employee>  

然后您可以使用以下java代码将xml文件转换为java对象

    JAXBContext jaxbContext = JAXBContext.newInstance(Employee.class);    

    Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();    
    Employee e=(Employee) jaxbUnmarshaller.unmarshal(file); 

有关详细信息,请参阅link