本文实例讲述了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程序设计有所帮助。