读取xml文件中的数据,解析xml文件
<?xml version="1.0" encoding="UTF-8"?>
<bean>
<property>
<name>who</name>
<value>xiaoming</value>
</property>
</bean>
jdom.jar:
org.jdom.input.SAXBuilder.SAXBuilder():
SAXBuilder:读xml配置文件中的数据
SAXBuilder saxBuilder = new SAXBuilder();
//
InputStream in = this.getClass().getClassLoader().getResourceAsStream("spring.xml");
//获取一个文档
Document doc = saxBuilder.build(in);
//获取文档中的根元素
Element rootElement = doc.getRootElement();
System.out.println("rootElement:" + rootElement);
// List children = rootElement.getChildren();
//获取根元素下的子元素
Element child = rootElement.getChild("property");
System.out.println("child:" + child);
Element nameElement = child.getChild("name");
Element valueElement = child.getChild("value");
//获取元素中的值
String name = nameElement.getValue();
String value = valueElement.getValue();
System.out.println("name:" + name + " value:" + value);
java反射机制调用执行方法
//把value的值付给name 把xiaoming付给who
//想办法调用实体类Student中的setWho(String who)
//反射
String className = "com.zpark.model.Student";
//加载className这个类
Class<?> forName = Class.forName(className);
//java是面向对象的程序语言,在java中想要调用方法,就必须new出类的对象
Object s = forName.newInstance(); //s = new Student(); s.setWho(xiaoming)
String methodName = "setWho";
Method method = s.getClass().getMethod(methodName, String.class);
method.invoke(s, value);//s.setWho("xiaoming")
测试执行:
public static void main(String[] args) throws Exception {
new ClassPathXMLApplicationContext();
}