您的位置:首页 > 其它

DOM解析XML简单示例(备忘)

2012-03-06 21:56 435 查看
以下为简单的dom解析xml示例,写在此处的主要目的为备忘

package com.linming.dom.xml;

import java.io.File;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

/**
* @author lin ming
* @create_date 2012-3-6 下午09:31:46
* @description
*/
public class DomDemo {

public static void main(String[] args) {
try {
// 取得DocumentBuilderFactory类的对象
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// 取得DocumentBulder类的对象
DocumentBuilder builder = factory.newDocumentBuilder();
try {
Document document = builder.parse(new File("E:" + File.separator + "test.xml"));
/*
* // 取得name节点, 以下为取得单个的节点 NodeList nodeList =
* document.getElementsByTagName("name");
* System.out.println("name=" +
* nodeList.item(0).getFirstChild().getNodeValue());
*/

//以下为取得所有的addressLinked,并遍历取出每个name与email
NodeList nodeList = document.getElementsByTagName("linked");
for (int i = 0; i < nodeList.getLength(); i++) {
Element e = (Element) nodeList.item(i);
System.out.println("name:" + e.getElementsByTagName("name").item(0).getFirstChild().getNodeValue());
System.out.println("email:" + e.getElementsByTagName("email").item(0).getFirstChild().getNodeValue());
}
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
}
}

以下文件的路径为:E:\test.xml

<?xml version="1.0" encoding="UTF-8" ?>
<addressLinked>
<linked>
<name>lin ming</name>
<email>linming@126.com<email>
</linked>
<linked>
<name>lin min</name>
<email>linmin@126.com<email>
</linked>
</addressLinked>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: