使用DOM4J读取XML文件

来源:互联网 发布:c语言编译器哪适合新手 编辑:程序博客网 时间:2024/05/22 02:23


xml 文件:

<?xml version="1.0" encoding="utf-8" ?><Response>   <e>      <CLASS>2.0</CLASS>      <GBCODE>3501</GBCODE>      <ID>3.0</ID>      <LAT>26.089380264282227</LAT>      <LON>119.29959869384766</LON>      <NAME>福州市</NAME>   </e>   <e>      <CLASS>2.0</CLASS>      <GBCODE>3502</GBCODE>      <ID>8.0</ID>      <LAT>24.47445297241211</LAT>      <LON>118.08509826660156</LON>      <NAME>厦门市</NAME>   </e>   <e>      <CLASS>2.0</CLASS>      <GBCODE>3503</GBCODE>      <ID>4.0</ID>      <LAT>25.431852340698242</LAT>      <LON>119.01676940917969</LON>      <NAME>莆田市</NAME>   </e>   <e>      <CLASS>2.0</CLASS>      <GBCODE>3504</GBCODE>      <ID>2.0</ID>      <LAT>26.263587951660156</LAT>      <LON>117.63680267333984</LON>      <NAME>三明市</NAME>   </e>   <e>      <CLASS>2.0</CLASS>      <GBCODE>3505</GBCODE>      <ID>6.0</ID>      <LAT>24.92544937133789</LAT>      <LON>118.5958023071289</LON>      <NAME>泉州市</NAME>   </e>   <e>      <CLASS>2.0</CLASS>      <GBCODE>3506</GBCODE>      <ID>7.0</ID>      <LAT>24.51365089416504</LAT>      <LON>117.67692565917969</LON>      <NAME>漳州市</NAME>   </e>   <e>      <CLASS>2.0</CLASS>      <GBCODE>3507</GBCODE>      <ID>1.0</ID>      <LAT>26.646291732788086</LAT>      <LON>118.1758041381836</LON>      <NAME>南平市</NAME>   </e>   <e>      <CLASS>2.0</CLASS>      <GBCODE>3508</GBCODE>      <ID>5.0</ID>      <LAT>25.100685119628906</LAT>      <LON>117.03483581542969</LON>      <NAME>龙岩市</NAME>   </e>   <e>      <CLASS>2.0</CLASS>      <GBCODE>3509</GBCODE>      <ID>0.0</ID>      <LAT>26.66749382019043</LAT>      <LON>119.52592468261719</LON>      <NAME>宁德市</NAME>   </e></Response>



使用dom4j 读取上述XML内容:


在pom 加入 dom4j.jar  的依赖

    <dependency>      <groupId>dom4j</groupId>      <artifactId>dom4j</artifactId>      <version>1.6.1</version>    </dependency>

Java代码:

import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;import java.io.File;import java.util.Iterator;/** * 解析XML文件 */public class XmlReader {    public static void main(String[] args) {        String xmlFile = "C:\\Users\\thinkpad\\Desktop\\福建省各市经纬度.xml";        readXml(xmlFile);    }    public static void readXml(String xmlPath){        File file = new File(xmlPath);        SAXReader reader = new SAXReader();        try {            Document document = reader.read(file);            Element root = document.getRootElement();            Element foo;            Iterator i = root.elementIterator("e");            while (i.hasNext()){                foo = (Element)i.next();                System.out.println("CLASS:"+foo.elementText("CLASS"));                System.out.println("GBCODE:"+foo.elementText("GBCODE"));                System.out.println("ID:"+foo.elementText("ID"));                System.out.println("LAT:"+foo.elementText("LAT"));                System.out.println("LON:"+foo.elementText("LON"));                System.out.println("NAME:"+foo.elementText("NAME"));                System.out.println("==============================\n");            }        } catch (DocumentException e) {            e.printStackTrace();        }    }}

运行结果:

CLASS:2.0GBCODE:3501ID:3.0LAT:26.089380264282227LON:119.29959869384766NAME:福州市==============================CLASS:2.0GBCODE:3502ID:8.0LAT:24.47445297241211LON:118.08509826660156NAME:厦门市==============================CLASS:2.0GBCODE:3503ID:4.0LAT:25.431852340698242LON:119.01676940917969NAME:莆田市==============================CLASS:2.0GBCODE:3504ID:2.0LAT:26.263587951660156LON:117.63680267333984NAME:三明市==============================CLASS:2.0GBCODE:3505ID:6.0LAT:24.92544937133789LON:118.5958023071289NAME:泉州市==============================CLASS:2.0GBCODE:3506ID:7.0LAT:24.51365089416504LON:117.67692565917969NAME:漳州市==============================CLASS:2.0GBCODE:3507ID:1.0LAT:26.646291732788086LON:118.1758041381836NAME:南平市==============================CLASS:2.0GBCODE:3508ID:5.0LAT:25.100685119628906LON:117.03483581542969NAME:龙岩市==============================CLASS:2.0GBCODE:3509ID:0.0LAT:26.66749382019043LON:119.52592468261719NAME:宁德市==============================