Java 读取XML文件以及Java 的反射机制实现
代码部分
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class XMLUtil {
static Object getBeans() {
try {
//第一步 我们先将XML文件读取到我们程序中来
//1.1 创建出一个工厂类
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
//1.2 通过工程类new一个DocumentBuilder对象
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
//1.3 将XML文件作为file对象读取到代码中 这里可以采用相对地址
File file = new File("XML文件地址");
//1.4 创建Document对象,并通过DocumentBuilder中的parse方法将XML文件数据流传送到新建的Document对象中
Document doc;
doc = docBuilder.parse(file);
//第二步 我们获取XML文件中存储的信息
//2.1 创建NodeList类 并通过XML文件中的标签名字读取到内容存放到nList中
NodeList nList = doc.getElementsByTagName("XML标签内容即<>中的内容");
//2.2 获取到我们需要的那个值
Node node = nList.item(0).getFirstChild();
//2.3 将我们需要的值转化为字符串的形式
String className = node.getNodeValue();
//第三步 使用Java反射机制 将类返回
//3.1 通过获取到的类名创建对象类
Class c = Class.forName(className);
//3.2 使用newInstance生成新的对象
Object obj = c.newInstance();
//3.3 返回类
return obj;
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return null;
}
}
}
如何使用返回的值创建类
类名 变量名 = (类名)XMLUtil.getBeans();
Student stu = (Student)XMLUtil.getBeans();
什么是XML文件
XML是由万维网联盟(W3C)创建的标记语言,用于定义编码人类和机器可以读取的文档的语法。它通过使用定义文档结构的标签以及如何存储和传输文档来实现这一点。
一般可以作为配置文件
例:
这是一个类名
什么是Java反射机制
JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;
对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。