狂虫臭博
我是java界的一只臭虫!!!
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
posts - 21, comments - 6, trackbacks - 0
公告
<
2024年11月
>
日
一
二
三
四
五
六
27
28
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
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔档案
(21)
2007年1月 (1)
2006年12月 (1)
2006年10月 (1)
2006年9月 (18)
文章分类
(2)
DOM4J(2)
文章档案
(2)
2006年9月 (2)
CLASSMATE
FRIENDS
我是大头,心情下的天空
耗子
Net-Superior
Appfuse in China
e代剑客
NEUSOFT
豆豆龙
suse web
Official-WEB
AppFuse
Matt Raible 开发的一个指导性的入门级J2EE框架
搜索
积分与排名
积分 - 10084
排名 - 2376
最新评论
1. re: 中國作家是為了什麽而出書???
评论内容较长,点击标题查看
--小车马
2. re: Ajax进阶书籍
@心内求法
激励的话,呵呵.......
--Warren.Wu
3. re: Ajax进阶书籍
对了,公告里的日语是什么意思啊?
--心内求法
4. re: Ajax进阶书籍
够多的,可以开书店了,呵呵
--心内求法
5. re: Ant的参数输入问题
@lala
Thanks
--Warren.Wu
阅读排行榜
1. Ant的参数输入问题(3002)
2. eclipse查看jdk源码(1060)
3. DOM编程详解(599)
4. jdom读取xml(536)
5. Ubuntu安装Skype(426)
评论排行榜
1. Ajax进阶书籍(3)
2. Ant的参数输入问题(2)
3. 中國作家是為了什麽而出書???(1)
4. 恶心的Date(0)
5. [转]java数据库连接(0)
dom4j基本代码
1
package
dom;
2
3
import
java.io.File;
4
import
java.io.FileWriter;
5
6
import
org.dom4j.Document;
7
import
org.dom4j.DocumentHelper;
8
import
org.dom4j.Element;
9
import
org.dom4j.Node;
10
import
org.dom4j.io.SAXReader;
11
import
org.dom4j.io.XMLWriter;
12
13
/** */
/**
14
*
@author
~@_@
15
*/
16
public
class
Dom4jDemo
{
17
/** */
/**
XML文件路径
*/
18
private
String XMLPath
=
null
;
19
20
/** */
/**
XML文档
*/
21
private
Document document
=
null
;
22
23
public
Dom4jDemo()
{
24
}
25
26
/** */
/**
27
* 初始化xml文件
28
*
29
*
@param
XMLPath 文件路径
30
*/
31
public
Dom4jDemo(String XMLPath)
{
32
this
.XMLPath
=
XMLPath;
33
}
34
35
/** */
/**
* 打开文档
*/
36
public
void
openXML()
{
37
try
{
38
SAXReader reader
=
new
SAXReader();
39
this
.document
=
reader.read(
this
.XMLPath);
40
System.out.println(
"
openXML() successful
"
);
41
}
catch
(Exception e)
{
42
System.out.println(
"
openXML() Exception:
"
+
e.getMessage());
43
}
44
}
45
46
/** */
/**
47
* 创建文档
48
*
49
*
@param
rootName 根节点名称
50
*/
51
public
void
createXML(String rootName)
{
52
try
{
53
this
.document
=
DocumentHelper.createDocument();
54
Element root
=
document.addElement(rootName);
55
System.out.println(
"
createXML() successful
"
);
56
}
catch
(Exception e)
{
57
System.out.println(
"
createXML() Exception:
"
+
e.getMessage());
58
}
59
}
60
61
/** */
/**
62
* 添加根节点的child
63
*
64
*
@param
nodeName 节点名
65
*
@param
nodeValue 节点值
66
*/
67
public
void
addNodeFromRoot(String nodeName, String nodeValue)
{
68
Element root
=
this
.document.getRootElement();
69
Element level1
=
root.addElement(nodeName);
70
level1.addText(nodeValue);
71
}
72
73
/** */
/**
74
* 打开文档
75
*
76
*
@param
filePath 文档路径
77
*/
78
public
void
openXML(String filePath)
{
79
try
{
80
SAXReader saxReader
=
new
SAXReader();
81
this
.document
=
saxReader.read(filePath);
82
System.out.println(
"
openXML(String filePath) successful
"
);
83
}
catch
(Exception e)
{
84
System.out.println(
"
openXML() Exception:
"
+
e.getMessage());
85
}
86
}
87
88
/** */
/**
保存文档
*/
89
public
void
saveXML()
{
90
try
{
91
XMLWriter output
=
new
XMLWriter(
new
FileWriter(
new
File(
92
this
.XMLPath)));
93
output.write(document);
94
output.close();
95
System.out.println(
"
saveXML() successful
"
);
96
}
catch
(Exception e1)
{
97
System.out.println(
"
saveXML() Exception:
"
+
e1.getMessage());
98
}
99
}
100
101
/** */
/**
102
* 保存文档
103
*
104
*
@param
toFilePath 保存路径
105
*/
106
public
void
saveXML(String toFilePath)
{
107
try
{
108
XMLWriter output
=
new
XMLWriter(
new
FileWriter(
109
new
File(toFilePath)));
110
output.write(document);
111
output.close();
112
}
catch
(Exception e1)
{
113
System.out.println(
"
saveXML() Exception:
"
+
e1.getMessage());
114
}
115
}
116
117
/** */
/**
118
* 获得某个节点的值
119
*
120
*
@param
nodeName 节点名称
121
*/
122
public
String getElementValue(String nodeName)
{
123
try
{
124
Node node
=
document.selectSingleNode(
"
//
"
+
nodeName);
125
return
node.getText();
126
}
catch
(Exception e1)
{
127
System.out
128
.println(
"
getElementValue() Exception:
"
+
e1.getMessage());
129
return
null
;
130
}
131
}
132
133
/** */
/**
134
* 获得某个节点的子节点的值
135
*
136
*
@param
nodeName
137
*
@param
childNodeName
138
*
@return
139
*/
140
public
String getElementValue(String nodeName, String childNodeName)
{
141
try
{
142
Node node
=
this
.document.selectSingleNode(
"
//
"
+
nodeName
+
"
/
"
143
+
childNodeName);
144
return
node.getText();
145
}
catch
(Exception e1)
{
146
System.out
147
.println(
"
getElementValue() Exception:
"
+
e1.getMessage());
148
return
null
;
149
}
150
}
151
152
/** */
/**
153
* 设置一个节点的text
154
*
155
*
@param
nodeName 节点名
156
*
@param
nodeValue 节点值
157
*/
158
public
void
setElementValue(String nodeName, String nodeValue)
{
159
try
{
160
Node node
=
this
.document.selectSingleNode(
"
//
"
+
nodeName);
161
node.setText(nodeValue);
162
}
catch
(Exception e1)
{
163
System.out
164
.println(
"
setElementValue() Exception:
"
+
e1.getMessage());
165
}
166
}
167
168
/** */
/**
169
* 设置一个节点值
170
*
171
*
@param
nodeName 父节点名
172
*
@param
childNodeName 节点名
173
*
@param
nodeValue 节点值
174
*/
175
public
void
setElementValue(String nodeName, String childNodeName,
176
String nodeValue)
{
177
try
{
178
Node node
=
this
.document.selectSingleNode(
"
//
"
+
nodeName
+
"
/
"
179
+
childNodeName);
180
node.setText(nodeValue);
181
}
catch
(Exception e1)
{
182
System.out
183
.println(
"
setElementValue() Exception:
"
+
e1.getMessage());
184
}
185
}
186
}
posted on 2006-09-20 15:45
Warren.Wu
阅读(190)
评论(0)
编辑
收藏
所属分类:
DOM4J
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
dom4j分析
dom4j基本代码