使用DOM4J讀取XML檔案
阿新 • • 發佈:2019-02-06
xml 檔案:
使用dom4j 讀取上述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>
在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.0 GBCODE:3501 ID:3.0 LAT:26.089380264282227 LON:119.29959869384766 NAME:福州市 ============================== CLASS:2.0 GBCODE:3502 ID:8.0 LAT:24.47445297241211 LON:118.08509826660156 NAME:廈門市 ============================== CLASS:2.0 GBCODE:3503 ID:4.0 LAT:25.431852340698242 LON:119.01676940917969 NAME:莆田市 ============================== CLASS:2.0 GBCODE:3504 ID:2.0 LAT:26.263587951660156 LON:117.63680267333984 NAME:三明市 ============================== CLASS:2.0 GBCODE:3505 ID:6.0 LAT:24.92544937133789 LON:118.5958023071289 NAME:泉州市 ============================== CLASS:2.0 GBCODE:3506 ID:7.0 LAT:24.51365089416504 LON:117.67692565917969 NAME:漳州市 ============================== CLASS:2.0 GBCODE:3507 ID:1.0 LAT:26.646291732788086 LON:118.1758041381836 NAME:南平市 ============================== CLASS:2.0 GBCODE:3508 ID:5.0 LAT:25.100685119628906 LON:117.03483581542969 NAME:龍巖市 ============================== CLASS:2.0 GBCODE:3509 ID:0.0 LAT:26.66749382019043 LON:119.52592468261719 NAME:寧德市 ==============================