1. 程式人生 > >xml之DOM方式解析,DOM4J工具解析原理

xml之DOM方式解析,DOM4J工具解析原理

DOM解析原理:

DOM解析原理:xml解析器一次性把整個xml文件載入進記憶體,然後在記憶體中構建一顆Document的物件樹,通過Document物件,得到樹上的節點物件,通過節點物件訪問(操作)到xml文件的內容。

一張圖來完全概括這個原理。

而dom4j原理是dom方式解析的,下面介紹dom4j

非官方,不在jdk中,因此要導包。三大框架(預設讀取xml的工具就是Dom4j)

使用步驟:

                    1)匯入dom4j的核心包。dom4j-1.6.1.jar+    注:歡迎去我的資源分享處下載,下載地址:http://download.csdn.net/my

                    2)編寫Dom4j讀取xml檔案程式碼

通過程式碼體會獲取xml的document物件方式。

public static void main(String[] args) {
		try {
			//1.建立一個xml解析器物件
			SAXReader reader = new SAXReader();
			//2.讀取xml文件,返回Document物件
			Document doc = reader.read(new File("./src/contact.xml"));
			
			System.out.println(doc);
		} catch (DocumentException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
		
	}

下一節,通過案例。說明dom4j解析方式。

相關推薦

xmlDOM方式解析DOM4J工具解析原理

DOM解析原理: DOM解析原理:xml解析器一次性把整個xml文件載入進記憶體,然後在記憶體中構建一顆Document的物件樹,通過Document物件,得到樹上的節點物件,通過節點物件訪問(操作)到xml文件的內容。 一張圖來完全概括這個原理。 而dom4j原理是d

Dom、Sax、Dom4j分別解析xml

一:Dom解析xml package com.carlinfo.xmlparse; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.Node

XMLDOM解析

一、DOM解析 DOM:document object model :文字物件模型,把文件中的成員描述成一個個物件。(java程式碼操作XMl) 特點:在載入的時候,會一次性把整個XML文件載入進記憶體,在記憶體當中形成一棵樹(document物件), 以後使用

Android訪問網路系列--服務端返回XML或JSON格式資料Android 進行解析並顯示

例子說明:使用者通過訪問web資源的最新電影資訊,伺服器端生成XML或JSON格式資料,返回Android客戶端進行顯示。 此案例開發需要兩個方面 WEB開發和android開發. 一.web開發相對比較簡單,只是模擬一下 相關程式碼如下: 1.實體Bean package ygc.yxb.domain

java解析XMLDOM解析和SAX解析(包含CDATA的問題)

  Dom解析功能強大,可增刪改查,操作時會將XML文件讀到記憶體,因此適用於小文件;   SAX解析是從頭到尾逐行逐個元素解析,修改較為不便,但適用於只讀的大文件;SAX採用事件驅動的方式解析XML。如同在電影院看電影一樣,從頭到尾看一遍,不能回退(Dom可

XML自動生成類添加修改刪除類的屬性

pes 表示 創建 BE gen name 待完善 ica bsp 1. class ClassHelperDemo { public static void Main() { #re

Android訪問網路:服務端返回XML或JSON格式資料Android 進行解析並使用ListView顯示

剛剛入門學習了Android的ListView,也是看了傳智播客黎活明老師的視訊學習了,但是一直執行不了,還報錯了。報的錯誤是:at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.jav

htmlDOM屬性查詢操作

<div id='div0' class='div1' name='div2'></div> DOM屬性查詢 定位查詢 var oDiv = document.getElementById(‘div0’) var oDi

Springboot原始碼深度解析方法解析類載入解析容器建立

springboot的啟動都是從main方法開始的,如下:@SpringBootApplicationpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.cl

DNS域名解析服務1(快取記憶體dnsdns正向解析dns正向輪詢解析dns反向解析dns雙向解析

         域名解析是把域名指向網站空間IP,讓人們通過註冊的域名可以方便地訪問到網站的一種服務。IP地址是網路上標識站點的數字地址,為了方便記憶,採用域名來代替IP地址標識站點地址。域名解析就是域名到IP地址的轉換過程。域名的解析工作由DNS伺服器完成。      

DOMSAXJDOMDOM4J四種方法解析XML文件的分析

文件加載 四種方法 結束 要求 每次 xml文件 基於 擴展方法 四種 ---恢復內容開始--- 1、DOM   與平臺無關的官方解析方式   DOM是一次性把xml文件加載到內存中,形成一個節點樹   對內存有要求 2、SAX   java提供的基於事件驅動的解

mybatis 解析配置檔案(一)XMLDOM解析方式

簡介 在之前的文章《mybatis 初步使用(IDEA的Maven專案, 超詳細)》中, 講解了mybatis的初步使用, 並總結了以下mybatis的執行流程: 通過 Resources 工具類讀取 mybatis-config.xml, 存入 Reader; SqlSessionFactoryBuil

JavaDOM,SAX,JDOM,DOM4J,四種解析xml方法比較

4種解析方式的比較 1.DOM解析   優點:a.形成了樹結構,直觀好理解,程式碼更易編寫         b.解析過程中樹結構保留在記憶體中,方便修改缺點:        a.當xml檔案較大時,對記憶體耗費比較大,容易影響解析效能並且造成記憶體溢位 2.SAX解析優點:

XML四種解析dom,sax,jdom,dom4j原理及效能比較

XML:四種解析器(dom,sax,jdom,dom4j)原理及效能比較   dom是解析xml的底層介面之一(另一種是sax).而jdom和dom4j則是基於底層api的更高階封裝。dom是通用的,具有跨語言、跨平臺性,而jdom和dom4j則是面向Java語言的。

xml解析----DOM解析

dom模型 web margin java dom ext des ins api DOM模型(documentobject model) ?DOM解析器在解析XML文檔時,會把文檔中的全部元素。依照其出現的層次關系。解析成一個個Node對象(節點)。 ?在

AndroidDOM解析XML

android一.DOM解析方法介紹  DOM是基於樹形結構的節點或信息片段的集合,允許開發人員使用DOM API遍歷XML樹,檢索所需數據。分析該結構通常需要加載整個文檔和構造樹形結構,然後才可以檢索和更新節點信息。  Android完全支持DOM解析。利用DOM中的對象可以對XML文檔進行讀取、搜索、修改

網絡相關系列四:數據解析SAX方式解析XML數據

request nco nodename 新建 作用 call 其他 auto 文件內容 一、XML和Json數據的引入: 通常情況下。每一個須要訪問網絡的應用程序都會有一個自己的server。我們能夠向server提交數據,也能夠從server獲取數據。

Java學習總結(21)——XML文檔解析DOM解析SAX解析

Oz 學習總結 AR javax exce 天氣 efault ray XP 一.XML簡介1.可擴展性標記語言(eXtensible Markup Language)2.XML用於描述數據3.應用場合:(1)持久化存儲數據(2)數據交換(3)數據配置4.XML語法(1)文

XML —— DOM方式解析XML

1. DOM 方式解析 XML 原理 基於 DOM(Document Object Model,文件物件模型)解析方式,是把整個 XML 文件載入到記憶體,轉化成 DOM 樹,因此應用程式可以隨機的訪問 DOM 樹的任何資料; 優點:靈活性強,速度快; 缺點:消耗資源比較多;

Dom4j工具j解析XML原理和示例代碼

nta row class val sys 得到 iter style hone import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.uti