Java如何从XML文件中获取节点信息的代码解析 Document方法

这篇文章主要是介绍用Dcoument方法来解析XML中的数据,具体的请看我的另一篇博客:http://blog.csdn.net/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文件,里面要写上对应的内容,我的是这样的:


<config>
    <className>
        edu.fjnu.Computer.Sever
    className>
config>

上面的className就是我们在代码中设置的对应节点,这当中的信息就是我们要提取的。
就这么简单。

你可能感兴趣的:(Java)