java读取xml文件实例介绍



java读取xml文件实例介绍,javax.xml.parsers包的和W3C读取xml。w3c.dom.NodeList的应用。w3c包实例。

ReadXML.java文件源码读取xml:

package com.cn.xml;

import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class ReadXML {

public static void main(String[] args) {
// 获得XML文件目录
File xmlFile = new File(“WebRoot/xmlDemo.xml”);
// 声明一个 DocumentBuilder类对象. 该类是javax.xml.parsers.DocumentBuilder类
DocumentBuilder builder = null;
// 声明一个 DocumentBuilderFactory对象. 该类是javax.xml.parsers.DocumentBuilderFactory类
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();

try {
//通过builderFactory对象取得默认的 DocumentBuilder.
builder = builderFactory.newDocumentBuilder();
Document document = builder.parse(xmlFile); // 解析指定的XML文件
Element root = document.getDocumentElement(); // 获得XML文件中的根元素
System.out.println(“XML根元素:” + root.getNodeName());


NodeList childNodes = root.getChildNodes(); // 获得XML文件根元素下的子节点
for (int i = 0; i < childNodes.getLength(); i++) { // 遍历根节点下所有的子节点
Node node = childNodes.item(i); // 判断每个子节点
if (node.getNodeName().equals(“book”)) { // 如果节点的名称为”book”
System.out.println(“\r\n书籍信息: “);
NodeList nodeDetail = node.getChildNodes(); // 获得<book>下的节点
for (int j = 0; j < nodeDetail.getLength(); j++) { // 遍历<book>下的节点
Node detail = nodeDetail.item(j); // 获得<book>元素每一个节点
if (detail.getNodeName().equals(“name”)) // 输出name节点的值
System.out.println(“书名: ” + detail.getTextContent());
else if (detail.getNodeName().equals(“author”)) // 输出author节点的值
System.out.println(“作者: ” + detail.getTextContent());
else if (detail.getNodeName().equals(“email”)) // 输出email节点的值
System.out.println(“电子邮件: “+ detail.getTextContent());
else if (detail.getNodeName().equals(“date”)) // 输出date节点的值
System.out.println(“出版日期: “+ detail.getTextContent());
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

xml文件样例:xmlDemo.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<xml-body>
<book>
<name>Java Web开发之XML </name>
<author>Jack</author>
<email>jack@goole.com </email>
<date>201003</date>
</book>

<book>
<name>Java Web开发之JSP </name>
<author>Mick</author>
<email>mick@goole.com </email>
<date>201003</date>
</book>

</xml-body>

}