jdom解析:
(1)使用JDOM首先要指定使用什么解析器。如:
SAXBuilder builder=new SAXBuilder(); 这表示使用的是默认的解析器
(2)得到Document,我们以后要进行的所有操作都是对这个Document操作的:
InputStream input = new FileInputStream("student.xml");
Document document = builder.build(input);// 获得文档对象
(3)得到根元素:
Element books=doc.getRootElement();
(4)得到元素(节点)的集合:
(1)使用JDOM首先要指定使用什么解析器。如:
SAXBuilder builder=new SAXBuilder(); 这表示使用的是默认的解析器
(2)得到Document,我们以后要进行的所有操作都是对这个Document操作的:
InputStream input = new FileInputStream("student.xml");
Document document = builder.build(input);// 获得文档对象
(3)得到根元素:
Element books=doc.getRootElement();
(4)得到元素(节点)的集合:
List booklist=books.getChildren("student");
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
|
package
bean;
import
java.io.FileInputStream;
import
java.io.InputStream;
import
java.util.List;
import
org.jdom.Document;
import
org.jdom.Element;
import
org.jdom.input.SAXBuilder;
/**
* jdom解析xml文件
* @author tingiting123
*
*/
public
class
XmlParse2 {
public
void
xmlParse()
throws
Exception {
SAXBuilder builder =
new
SAXBuilder();
//获取解析器
InputStream input =
new
FileInputStream(
"student.xml"
);
//将配置文件转换为字节流
Document document = builder.build(input);
// 获得文档对象
Element root = document.getRootElement();
// 获得根节点
List<Element> list = root.getChildren();
//获取根节点下的所有子节点
for
(Element e : list) {
System.out.println(
"id="
+ e.getAttributeValue(
"id"
));
System.out.println(
"username="
+ e.getChildText(
"username"
)+
"\t"
+
"password="
+ e.getChildText(
"password"
));
}
}
public
static
void
main(String ars[])
throws
Exception {
XmlParse2 xp =
new
XmlParse2();
xp.xmlParse();
// 解析XML
}
}
|
student.xml
1
2
3
4
5
6
7
8
9
10
11
|
<?xml version=
"1.0"
encoding=
"UTF-8"
?>
<persons>
<person id=
"1"
>
<username>张三</username>
<password>
123123
</password>
</person>
<person id=
"2"
>
<username>李四</username>
<password>123456yy</password>
</person>
</persons>
|
运行结果:
id=1
username=张三 password=123123
id=2
username=李四 password=123456yy