1. 程式人生 > >XML文件解析器---demo4j

XML文件解析器---demo4j

首先我們來介紹一下什麼叫XML文件
XML中文翻譯為擴充套件標記語言,標準通用標記語言的子集,是一種用於標記電子檔案使其具有結構性的標記語言。
在電子計算機中,標記指計算機所能理解的資訊符號,通過此種標記,計算機之間可以處理包含各種的資訊比如文章等。它可以用來標記資料、定義資料型別,是一種允許使用者對自己的標記語言進行定義的源語言。 它非常適合全球資訊網傳輸,提供統一的方法來描述和交換獨立於應用程式或供應商的結構化資料。是Internet環境中跨平臺的、依賴於內容的技術,也是當今處理分散式結構資訊的有效工具。早在1998年,W3C就釋出了XML1.0規範,使用它來簡化Internet的文件資訊傳輸。
知道了這一點後,我們會開始想怎樣來解析這一個XML文件,早期的解析工具有DOM SAX ,再到後來的jdom,現在我們來看一種更加好用也是企業裡面經常用到的————-demo4j解析器


常見的XML檔案

1

可以看見其結構跟我們的html檔案是非常相似的不過在這裡這些標籤使我們自己定義的,這裡我們有自己定義的根標籤< students> 裡面存放著我們定義各類子標籤,比如有name sex標籤,這些都是我們日後要解析的內容
我們下面要用的方法都可以在這個API下找到

我們用一個具體的程式碼來看看著XML文件解析器的具體使用,我們這裡就是來解析上面那個文件,首先我們下載demo4j的jar,這裡我們用maven專案的方式來匯入,如果不清楚的話,可以去看我的這一篇文章

不過也可以去網上下載jar並匯入使用,結果是一樣。
2

        public
static void test1(){ //定義一個XML文件解析器 SAXReader sax = new SAXReader() ; try { //獲取一個document物件 Document doc = sax.read(new FileInputStream("src/Students.xml")); //獲取XML文件的根元素 Element rootElement = doc.getRootElement(); //把根元素來裡面的student標籤放到List中去
List studentList = rootElement.elements("student"); //使用迭代器來輸出這個集合 for (Iterator iterator = studentList.iterator(); iterator.hasNext();) { Element element = (Element) iterator.next(); //獲得子元素裡面的屬性值 String idcard = element.attributeValue("idcard"); System.out.println(idcard); //獲得這個子元素中的迭代器 Iterator iter = element.elementIterator(); //取出這些子元素的中的文字內容 while(iter.hasNext()){ Element el = (Element)iter.next(); String tagName = el.getName(); if(tagName.equals("name")){ System.out.println(el.getText()); } if(tagName.equals("sex")){ System.out.println(el.getStringValue()); } } } } catch (FileNotFoundException | DocumentException e) { e.printStackTrace(); } }

效果圖
3

有了這個工具,解析XML文件就會變得簡便,希望對你有幫助

相關推薦

XML解析---demo4j

首先我們來介紹一下什麼叫XML文件 XML中文翻譯為擴充套件標記語言,標準通用標記語言的子集,是一種用於標記電子檔案使其具有結構性的標記語言。 在電子計算機中,標記指計算機所能理解的資訊符號,通過此種標記,計算機之間可以處理包含各種的資訊比如文章等。它可以用

XML解析【安卓7】——SAX解析

try 讀取資源文件 結束 文件解析 簡單 put log 空間 img XML文件解析 XML解析:XML技術是Android平臺的應用基礎,   Android提供了多種解析XML的方式:SAX解析、DOM解析、PULL解析 SA

XML解析-DOM4J方式和SAX方式

public bsp input main saxparser exception element rac default 最近遇到的工作內容都是和xml內容解析相關的. 1圖片數據以base64編碼的方式保存在xml的一個標簽中,xml文件通過接口的方式發送給我,然後我去

XML解析數據結構

spa private first nal runtime 兄弟節點 節點 .com 技術分享 最近在解析Android安裝包內經過編譯的二進制XML文件時想在內存中建立起其對應的樹結構。 想了一早晨,思路如下圖。 多叉樹中的每個節點除了有子節點和兄弟節點以外還有一個指針

Qt---Xml解析

區別 xmlreader -s item sco yellow styles placement 發的 本文我們通過一個讀取Xml文件的小例子來學習QXmlStreamReader。 Xml 簡介 Xml的全稱是可擴展標記語言(EXtensible Markup Langu

XML解析:DOM解析與DOM的增刪改查

DOM解析XML的概述: DOM解析優點: 整個文件樹在記憶體中,便於操作; 可以修改,刪除、重新排列XML; 可以隨機訪問任何一個節點,訪問效率高。 DOM解析的缺點: 佔用記憶體大,佔用資源多

javaweb學習(三):applicationContext.xml解析,配置等詳解

applicationContext.xml是Spring的配置檔案,當然可以不用這個名稱,在載入的時候指定即可,不過為了減少必要的報錯,建議初期還是使用這個名稱吧,畢竟這是spring預設的名稱。 一、applicationContext.xml作用: 我們學

正則表達式之簡易markdown解析

正則表達式 其他 index task err types spa 使用 har 使用正則表達式也可以寫一個簡單的markdown解析器一般的markdown表達式是這樣 # 這是一個markdown表達式 ## 這是一個markdown表達式 一行一個markdown表達

[XML解析]libxml2對XML檔案的建立、解析、查詢、修改

xmlXPathObjectPtr get_nodeset(xmlDocPtr doc, const xmlChar *xpath) { xmlXPathContextPtr context; xmlXPathObjectPtr result; context = xmlXP

python XML解析:用ElementTree解析XML

eas 通過 使用場景 exc try 開始 利用 快的 直接 Python標準庫中,提供了ET的兩種實現。一個是純Python實現的xml.etree.ElementTree,另一個是速度更快的C語言實現xml.etree.cElementTree。請記住始終使用C語言實

Python模塊:配置解析configparser

eas popu python3 ocs rar python代碼 pip ring try 版權聲明:本文為博主皮皮http://blog.csdn.net/pipisorry原創文章,未經博主

使用DOM解析解析XML 學習筆記

使用DOM解析器解析XML文件 學習筆記dom解析和dom4j原理一致 Node是所有元素的父接口 常用的API: DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();取得DOM解析器工廠 DocumentBuilder

dom4j解析sax解析xml

pri clip nco 收藏 sel 新建 添加 ack 想要 1.使用dom4j解析器解析xml ***解析器dom4j是由dom4j組織提供的,針對xml進行解析。dom4j不是Javase的一部分,使用時需要導入dom4j的jar包(官網下載)   在eclips

XML和SAXParser解析

比較簡單的就不記錄了。記一些容易忘的。 XML部分 1、特殊字元如何表示為純文字 這些字元在xml中屬於特殊字元,它代表的不是本身字元的意思。因此特殊字元表示成純文字,就要通過特殊的辦法來表示 方法一:實體引用 方法二:CDATA標記 <![CDATA[文

jaxp解析用dom方式操作xml的總結

1. xml解析技術概述    解析xml文件一般有兩種技術:dom(Document Object Model)和sax(Simple API for XML)。dom即文件物件模型,是W3C組織推薦的處理xml的一種方式;sax不是官方標準,但它是xm

java解析xml練習——通過應用包名獲取應用圖標即其他信息(基於魅族應用商店)

fin vma tdm row con smartd enter music close 1、解析包名數據文件(txt文件),並生成包名數組: package jsouphtml; import java.io.BufferedReader; import j

處理】xml SAX解析

student 內容 訪問 sets display xtend style hide news SAX的全稱是Simple APIs for XML,也即XML簡單應用程序接口。 與DOM不同,SAX提供的訪問模式是一種順序模式,這是一種快速讀寫XML數據的方式。 當使用

2 怎樣解析XML或字符串

ica 代碼 clas books con value title 例如 parse 1 引用XML文件 2 使用XMLReader解析文本字符串 3 使用XMLReader方法讀取XML數據 詳細代碼實現例如以下: //初始化一個XML字符串 String xml

【U1結業機試題】新聞內容管理系統:解析XML讀取Html模版生成網頁

repl att not 一個 class 新的 create hashmap exception 一、作業要求: 1.在xml文件中創建新聞節點news,包含標題、作者、日期、正文等信息 2.創建HTML模板文件 3.讀取xml中所有新聞信息,並使用新聞信息替換模板文件中

在java項目中怎樣利用Dom4j解析XML獲取數據

avi conf get 自己 mar dom4j eas localhost b2c 在曾經的學習.net時常常會遇到利用配置文件來解決項目中一些須要常常變換的數據。比方數據庫的連接字符串兒等。這個時候在讀取配置文件的時候。我們一般會用到一個雷configuratio