package xml;
import java.io.InputStream;
import java.lang.reflect.Method;
public class DiDemo {
public static void main(String[] args) throws Exception{
InputStream inputStream = DiDemo.class.getClassLoader().getResourceAsStream("person.xml");
SAXReader saxReader = new SAXReader();
Doucment doucment = SAXReader.read(inputStream);
Element rootElemnt = doucment.getRootElement();
List<Element> personElements = rootElemnt.elements();
if(personElements != null && personElements.size()>0){
for(Element personElement : personElements){
String className = personElement.attributeValue("className");
Class c = Class.forName(className);
Object object = c.newInstance();
List<Element> propertyElements = personElement.elements();
if(propertyElements != null && propertyElements.size()>0){
for(Element propertyElement : propertyElements){
String name = propertyElement.attributeValue("name");
String text = propertyElement.getText();
String methodName = "set" + name.substring(0,1).toUpperCase() + name.substring(1);
Method method = c.getMethod(methodName,String.class);
method.invoke(object,text);
}
}
}
}
}
}
package com.Person;
import lombok.Data
@Data
public class Person {
private String name;
private String Address;
}