JAVA读取XML文件数据

XML文档内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <field type="1" store="yes">title1</field>
    <field type="2" store="no">title2</field>
    <field type="3" store="yes">title3</field>
</root>

  

JAVA代码如下:

package cn.mylucene;

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.NodeList;
import org.xml.sax.SAXException;

public class MyXml {

	public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
		//读取XML文件
		File f = new File("E:\\workspace\\cn.harmel.lucene\\src\\1.xml"); 
		//获取DocumentBuilderFactory
	    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
	    //通过DocumentBuilder工厂产生一个DocumentBuilder
		DocumentBuilder builder = factory.newDocumentBuilder(); 
		//利用DocumentBuilder产生Document
	    Document doc = builder.parse(f); 
	    //获取指定的标签的集合
		NodeList nl = doc.getElementsByTagName("field"); 
		for (int i = 0; i < nl.getLength(); i++) {
		   String fieldName=nl.item(i).getFirstChild().getNodeValue();//获取标签值
		   String fieldType=nl.item(i).getAttributes().getNamedItem("type").getNodeValue();//获取标签属性值
		   String fieldStore=nl.item(i).getAttributes().getNamedItem("store").getNodeValue();//获取标签属性值
		   System.out.println(fieldName+"------"+fieldType+"------"+fieldStore);
		}
		
	}

}

运行结果如下:

title1------1------yes
title2------2------no
title3------3------yes

  

posted @ 2016-09-14 14:06  苦逼的猿人  阅读(1280)  评论(0编辑  收藏  举报