JAVA读取XML文件数据

时间:2023-03-08 22:49:45
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