这篇文章主要是介绍用Dcoument方法来解析XML中的数据,具体的请看我的另一篇博客:http://blog.youkuaiyun.com/zhengshidao/article/details/69789713
在编写Java代码的时候要经常从XML文件当中读取数据,特别是用设计模式的时候,具体代码如下:
package edu.fjnu.Computer;
/**
* Created by Administrator on 2017/3/20 0020.
*/
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.File;
public class XMLUtil {
/**
* 从配置文件中获取具体类名
* @return
*/
public static Object getBean() {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc;
doc = builder.parse(new File("Computer.xml"));
NodeList nodeList = doc.getElementsByTagName("className");
Node node = nodeList.item(0).getFirstChild();
String cname = node.getNodeValue();
// System.out.println(cname);
//这里是反射的用法,需要写全名
Class c = Class.forName(cname);
Object object = c.newInstance();
System.out.println(c.getName());
return object;
//return new SqlFactory();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
在你的Java工程中添加一个新的类:XMLUtil.java
大家看到在上面的代码中有个绝对路径文件
new File(“Computer.xml”)
就是在你的工程文件下要新建一个Computer.xml文件,里面要写上对应的内容,我的是这样的:
<?xml version = "1.0" ?>
<config>
<className>
edu.fjnu.Computer.Sever
</className>
</config>
上面的className就是我们在代码中设置的对应节点,这当中的信息就是我们要提取的。
就这么简单。