(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();
在JDOM中所有的節點(DOM中的概念)都是一個org.jdom.Element類,當然他的子節點也是一個org.jdom.Element類。
(4)得到元素(節點)的集合:
List booklist=books.getChildren("student");
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 |