1. 程式人生 > >SAXReader簡單例項解析HTML

SAXReader簡單例項解析HTML

轉載自:http://blog.csdn.net/seayqrain/article/details/5024068#

使用SAXReader需要匯入dom4j-full.jar包。

dom4j是一個Java的XML API,類似於jdom,用來讀寫XML檔案的。dom4j是一個非常非常優秀的Java XML API,具有效能優異、功能強大和極端易用使用的特點,同時它也是一個開放原始碼的軟體,可以在SourceForge上找到它。

舉例:

xml內容:

<?xml version="1.0" encoding="GB2312"?>  
<data>  
    <row queryDTO.enterpriseId="gfd" queryDTO.loginName="gdfg" queryDTO.state="0"/>  
</data> 

解析:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.tree.AbstractAttribute;

public class ReadXMLTest {
	
	public static void main(String[] args){
		File xmlFile = new File("C:/s.xml");
		FileInputStream fis = null;
		try {
			fis = new FileInputStream(xmlFile);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			System.err.println("File is not exsit!");
		}
		
		SAXReader saxReader = new SAXReader();
		List rowList = null;
		try {
			//生成文件對應實體
			Document doc = saxReader.read(fis);
			//獲取指定路徑下的元素列表,這裡指獲取所有的data下的row元素
			rowList = doc.selectNodes("//data/row");
		} catch (DocumentException e) {
			e.printStackTrace();
		}
		
		
		for(Iterator iter = rowList.iterator();iter.hasNext();){
			//獲得具體的row元素 
			Element element = (Element)iter.next();
			//獲得row元素的所有屬性列表
			List elementList = element.attributes();
			for(Iterator iter1 = elementList.iterator();iter1.hasNext();){
				//將每個屬性轉化為一個抽象屬性,然後獲取其名字和值
				AbstractAttribute aa = (AbstractAttribute)iter1.next();
				System.out.println("Name:"+aa.getName()+";Value:"+aa.getValue());
			}
							//輸出:
							//Name:queryDTO.enterpriseId;Value:gfd
							//Name:queryDTO.loginName;Value:gdfg
							//Name:queryDTO.state;Value:0
			System.out.println(element.getName());
							//輸出:
							//row
			// 取得row元素的queryDTO.enterpriseId屬性的值
			System.out.println(element.attributeValue("queryDTO.enterpriseId"));
							//輸出:
							//gfd
			//如果element下有子元素,(類似width="**"),要想獲得該子元素的值,可以用如下方法
			System.out.println(element.elementText("width"));//因為沒有,所以輸出為null。
		}
		
	}
}

相關推薦

SAXReader簡單例項解析HTML

轉載自:http://blog.csdn.net/seayqrain/article/details/5024068# 使用SAXReader需要匯入dom4j-full.jar包。 dom4j是一個Java的XML API,類似於jdom,用來讀寫XML檔案的。dom4

手動建立makefile簡單例項解析

假設我們有一個程式由5個檔案組成,原始碼如下: /*main.c*/ #include "mytool1.h" #include "mytool2.h"int main() {         mytool1_print("hello mytool1!");         mytool2_print("

MapReduce簡單例項解析map、reduce、combiner、partition一條龍

需求:通過MapReduce對紅樓夢TXT檔案統計笑、喜、哭、怒在全書的數量,使用combiner減少IO,通過partition輸出到兩個檔案中。 通過MapReduce外掛建立MapReduce project,這樣需要的包都會自動匯入 主函式:

HTML下拉選擇 簡單例項 新增刪除節點到另一個節點下

 下拉選擇 簡單例項   <html> <head> <title>HTML</title> <style type="text/css"> </style> </h

HTML下拉選擇 簡單例項 新增刪除節點到另一個節點下

 下拉選擇 簡單例項 <html> <head> <title>HTML</title> <style type="text/css"> </style> </head>

HTML簡單例項

HTML基礎構成和HTML元素 什麼是HTML HTML是用來描述網頁的一種超文字標記語言(Hyper Text Markup Language),標記語言是一套標記標籤,而HTML是使用這這種標記標籤來描述網頁。 簡單的HTML例項 <

一個HTML簡單例項

超文字標記語言(英語:HyperText Markup Language,簡稱:HTML)是一種用於建立網頁的標準標記語言,可以用來建立web站點。 這裡實現一個簡單的靜態網頁的例子。 注意:對於中文網頁需要使用 <meta charset="utf-

HTML+CSS簡單例項(一)

/*重置,也就是清理不乾淨的標籤*/ *{ font-size:12px; font-family:"宋體"; color:#444;margin:0 auto;}/*是共用的意思*/ body{ margin:0; background:#161616;} a{ text-decoration:none;

html中的簡單例項演示(checkbox)的使用

演示一個小小的例子:在購物車裡面,我們能夠勾選自己所選的商品,然後能夠顯示出相應的價格。 1,首先顯示出相應的介面: 相關程式碼: <body> 商品列表:<br/>

html搜尋xml的簡單例項

摘自狐狸的程式碼:test.xml:-----------------------------------------<?xml version="1.0" encoding="gb2312" ?><data> <boy name="張三" ag

Java簡單的繼承例項解析

面向物件程式語言具有封裝、繼承、多型三個基本特徵,本文就繼承舉例詳談 程式碼中有一個父類person1類,表示“這個人”,person1的一個子類為student,表示“這個人是學生”。 perso

Scala 解析檔案內容簡單例項

import scala.io.Source  //操作檔案的類 if(args.length > 0){   for(line <- Source.fromFile(args(0)).getLines())     println(line.

MyBatis簡單例項及配置檔案解析

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/

ExtJS MessageBox嵌入HTML修改提示內容樣式簡單例項

有個小調整要求修改ext提示框中的文字樣式,好像之前簡單學習extjs時有在哪看過可以直接在文字內容中加html語句。想起計算機體系結構老師的話,書本上的東西是記不完,但是看書能讓你知道有這麼一回事,

java--通過sax方式解析xml檔案的簡單例項

1.重寫的繼承自DefaultHandler的方法,部分程式碼如下: @Override public void startElement(String uri, String localName, String qName, Attributes attribut

Python2.7 使用HTMLParser簡單解析HTML

import HTMLParser class MyHTMLParser(HTMLParser.HTMLParser):        def __init__(self):            HTMLParser.HTMLParser.__init__(self)            self.lin

echarts2簡單例項+ $.extend()方法解析

簡介 ECharts,縮寫來自Enterprise Charts,商業級資料圖表,一個純Javascript的圖表庫,可以流暢的執行在PC和移動裝置上,相容當前絕大部分瀏覽器(IE6/7/8/9/10/11,chrome,firefox,Safari等),底層依賴輕量級的C

如何從資料庫調出資料顯示到頁面 PHP+Mysql+Html簡單例項

首先顯示一下資料庫的資料 頁面資訊 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> &l

手機html開發,簡單例項,頭部底部固定,中間可以滾動

<!DOCTYPE html> <html lang="en"> <head><meta http-equiv="Content-type" content="text/html; charset=utf-8"><meta name="viewport"

jdom解析xml檔案簡單例項

為什麼要用JDOM? JDOM是網上流行開源的XML的操作類,用起來簡單方便.與他對應的還有幾個非常流行的框架,dom4j也是很好用的。但他們各有側重點。下面是一個jdom的使用例子,有JAVA功底的人一下就應該能看懂。 jdom官方地址 http://www.jdom.org/ 配製檔案(要放在src的