本文实例讲述了java基于dom4j包实现对XML解析的方法。分享给大家供大家参考,具体如下:
本例中的xml文件内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<? xml version = "1.0" encoding = "UTF-8" ?>
<!-- Copyright 难免有错 这是注释-->
<自定义的>
<!-- iloveyou -->
<你喜欢的名字就好>
< who a = "i" ></ who >
< dowhat b = "love" ></ dowhat >
< whom c = "you" ></ whom >
</你喜欢的名字就好>
<!-- youhateme -->
<好吧>
< who a = "you" ></ who >
< dowhat b = "hate" ></ dowhat >
< whom c = "me" ></ whom >
</好吧>
</自定义的>
|
Java解析XML代码如下:
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
31
32
33
34
35
36
37
38
39
|
package xmlreadtest;
import java.io.File;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Xmlreadtest
{
public static void main(String[] args) throws DocumentException
{
//创建一个readxml对象的实例
Readxml re = new Readxml();
//调用readexmldata方法
re.readxmldata( "你喜欢的名字就好" );
re.readxmldata( "好吧" );
}
}
/**
* 2015年8月31日
* @author 难免有错
*
*/
class Readxml
{
//参数为xml文件的子元素 如本例中test.xml文件的的"你喜欢的名字就好"
public void readxmldata(String str) throws DocumentException
{
//创建SAXReader对象
SAXReader reader = new SAXReader();
org.dom4j.Document dcfile = reader.read( new File( "test.xml" ));
//获得xml文件的root节点
Element root = dcfile.getRootElement();
//获取名字为指定名称子元素
Element e_interface = root.element(str); //传入参数
String ewho = (String) e_interface.element( "who" ).attribute( 0 ).getData();
String edo = (String) e_interface.element( "dowhat" ).attribute( 0 ).getData();
String ewhom = (String) e_interface.element( "whom" ).attribute( 0 ).getData();
System.out.println(ewho+edo+ewhom);
}
}
|
程序运行结果:
1
2
|
iloveyou
youhateme
|
注:本例只是个简单的RAX方式解析
希望本文所述对大家java程序设计有所帮助。