俊星的BLOG
導航
BlogJava
首頁
新隨筆
聯系
聚合
管理
<
2009年4月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
統計
隨筆 - 50
文章 - 0
評論 - 6
引用 - 0
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(1)
給我留言
查看公開留言
查看私人留言
隨筆分類
代碼庫(7)
(rss)
隨筆檔案
2010年11月 (3)
2010年10月 (12)
2009年6月 (5)
2009年5月 (22)
2009年4月 (8)
最新隨筆
1.?實現變更統計
2.?切換IE8中碰到的問題
3.?發布FWMS
4.?ActiveMQ初探
5.?CAS初步配置
搜索
最新評論
1.?re: JAVA圖像縮放處理[未登錄]
不錯的方法
--test
2.?re: freetts初探
學習了! 就是不清楚為啥在eclipse下跑不起來...
--apiao
3.?re: freetts初探
System property "mbrola.base" is undefined. Will not use MBROLA voices.
這個問題怎么解決啊?
--瓏兒
4.?re: ActiveMQ初探
測試通過。多謝
--71569973
5.?登錄網站
評論內容較長,點擊標題查看
--ahome
閱讀排行榜
1.?ftp的port和pasv模式(轉)(8036)
2.?JAVA圖像縮放處理(4187)
3.?Nutz初步試用(4110)
4.?Window下FTP命令使用(3523)
5.?freetts初探(3436)
6.?ActiveMQ初探(2910)
7.?MYSQL Access denied 問題的解決(2347)
8.?HTTP Client及HTTPS初探(1993)
9.?JAVA單向加密(MD5,SHA,MAC)(1269)
10.?CAS認證初探(1159)
評論排行榜
1.?freetts初探(2)
2.?HTTP Client及HTTPS初探(2)
3.?ActiveMQ初探(1)
4.?JAVA圖像縮放處理(1)
5.?我的DWR之DefaultContainer(0)
JAVA SAX之簡單實用
SAX是Simple API for XML的縮寫(官網:
saxproject
),一個用來解決大型XML文檔讀取的接口,下面是我的簡單試用:
import
java.io.FileInputStream;
import
javax.xml.parsers.SAXParser;
import
javax.xml.parsers.SAXParserFactory;
import
org.xml.sax.Attributes;
import
org.xml.sax.InputSource;
import
org.xml.sax.SAXException;
import
org.xml.sax.XMLReader;
import
org.xml.sax.helpers.DefaultHandler;
/** */
/**
* 需要繼承自DefaultHandler
*
@author
kinkding
*/
public
class
Test
extends
DefaultHandler
{
protected
StringBuffer bodyText
=
new
StringBuffer();
private
int
level
=
0
;
/** */
/**
開始解析元素
*/
public
void
startElement(String namespaceURI, String localName, String fullName, Attributes attributes)
throws
SAXException
{
System.out.print(getPrefix()
+
"
<
"
+
fullName
+
"
(
"
);
for
(
int
i
=
0
; i
<
attributes.getLength(); i
++
)
{
String temp
=
attributes.getQName(i);
String value
=
attributes.getValue(i);
System.out.print(temp
+
"
:
"
+
value
+
"
"
);
}
System.out.println(
"
)>
"
);
level
++
;
}
/** */
/**
元素間內容的處理
*/
public
void
characters(
char
buffer[],
int
start,
int
length)
throws
SAXException
{
bodyText.append(buffer, start, length);
}
/** */
/**
結束元素的解析
*/
public
void
endElement(String namespaceURI, String localName, String fullName)
throws
SAXException
{
System.out.println(getPrefix()
+
bodyText.toString().trim());
bodyText
=
new
StringBuffer();
level
--
;
System.out.println(getPrefix()
+
"
<
"
+
fullName
+
"
>
"
);
}
private
String getPrefix()
{
String s
=
""
;
for
(
int
i
=
0
; i
<
level; i
++
)
{
s
+=
"
"
;
}
return
s;
}
public
XMLReader getReader()
throws
Exception
{
SAXParser parser
=
SAXParserFactory.newInstance().newSAXParser();
XMLReader reader
=
parser.getXMLReader();
reader.setDTDHandler(
this
);
reader.setContentHandler(
this
);
reader.setEntityResolver(
this
);
reader.setErrorHandler(
this
);
return
reader;
}
public
static
void
main(String[] args)
throws
Exception
{
Test t
=
new
Test();
XMLReader reader
=
t.getReader();
reader.parse(
new
InputSource(
new
FileInputStream(
"
test.xml
"
)));
}
}
test.xml文件內容如下:
<?
xml version='1.0'
?>
<
table
name
="job"
code
="1234"
>
<
tr
>
我的家
</
tr
>
<
td
colspan
="2"
>
生命就像一條大河
</
td
>
<
td
colspan
="3"
>
goodjob
</
td
>
</
table
>
輸出如下:
<table(name:job code:
1234
)>
<tr()>
我的家
<tr>
<td(colspan:
2
)>
生命就像一條大河
<td>
<td(colspan:
3
)>
goodjob
<td>
<table>
posted on 2009-04-30 20:29
俊星
閱讀(169)
評論(0)
編輯
收藏
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Powered by:
BlogJava
Copyright © 俊星
主站蜘蛛池模板:
江山市
|
漯河市
|
平顶山市
|
富宁县
|
湖南省
|
英山县
|
南和县
|
上高县
|
华宁县
|
新竹市
|
汝阳县
|
新余市
|
德兴市
|
陕西省
|
普定县
|
九龙坡区
|
宾川县
|
昭平县
|
夏津县
|
凤城市
|
酒泉市
|
广安市
|
瑞安市
|
运城市
|
云南省
|
大关县
|
黄浦区
|
石林
|
东方市
|
湖南省
|
庆阳市
|
枞阳县
|
阆中市
|
布尔津县
|
沈丘县
|
伊宁县
|
山西省
|
庄河市
|
东海县
|
沅陵县
|
新丰县
|