xml解析工具-jdom

來源:互聯網
上載者:User

標籤:

前言:近期接觸SSH架構的時候,經常得配置一下xml檔案;今天閑來沒事就挖挖xml解析的原理供大伙兒分享。本文主要通過一個簡單的例子解析一個xml檔案。明白其中緣由之後,大家想定義自己的xml也絕非難事~

 

  JDOM是一個開源項目,它基於樹型結構,利用純JAVA的技術對XML文檔實現解析、產生、序列化以及多種操作。其解析步驟其實很簡單,可以將一個xml檔案類比一棵樹。首先從根節點開始解析,之後遍曆左右孩子結點,孩子結點再遞迴解析孩子結點。。。(注意,遍曆的時候應該區別於深度優先遍曆,準確的理解應該是層次遍曆!)

·樹級解析
·Java代碼

2個檔案(test.xml和Sample1.java),另外請自己上網下載jdom.jar包。

Sample1.java

 1 import java.util.*; 2 import org.jdom.*; 3 import org.jdom.input.SAXBuilder; 4  5  6 public class Sample1 { 7     public static void main(String[] args) throws Exception { 8         SAXBuilder sb = new SAXBuilder(); 9 10         Document doc = sb.build(Sample1.class.getClassLoader()11                 .getResourceAsStream("test.xml")); // 構造文檔對象12         Element root = doc.getRootElement(); // 擷取根項目HD13         List list = root.getChildren("disk");// 取名字為disk的所有元素14         for (int i = 0; i < list.size(); i++) {15             Element element = (Element) list.get(i);16 17              String capacity=element.getChildText("capacity");//取disk子項目capacity的內容18              String directories=element.getChildText("directories");19              String files=element.getChildText("files"); 20              21              System.out.println("磁碟資訊:");22              System.out.println("分區容量:"+capacity);23              System.out.println("目錄數:"+directories);24              System.out.println("檔案數:"+files);25              System.out.println("-----------------------------------");}26     }27 }

test.xml

<?xml version="1.0" encoding="UTF-8"?><HD>  <disk name="C">    <capacity>8G</capacity>    <directories>200</directories>    <files>1580</files>  </disk>  <disk name="D">    <capacity>10G</capacity>    <directories>500</directories>    <files>3000</files>  </disk></HD> 

·解析結果
磁碟資訊:分區容量:8G目錄數:200檔案數:1580-----------------------------------磁碟資訊:分區容量:10G目錄數:500檔案數:3000-----------------------------------

 結語:據說dom4j解析工具包更好用,有機會得試試~不過其原理想必都差不多!

xml解析工具-jdom

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.