天天看點

saxbuilder來操作xml

xml為我們在網絡交換資料帶來很大友善,在java中可以使用saxbuilder來操作xml格式檔案,下面介紹一下saxbuilder的常用方法.

import org.jdom.Document;

import org.jdom.Element;

import org.jdom.JDOMException;

import org.jdom.input.SAXBuilder;

import org.jdom.output.XMLOutputter;

(1)使用JDOM首先要指定使用什麼解析器。如:

SAXBuilder builder=new SAXBuilder(false); 這表示使用的是預設的解析器

(2)得到Document,我們以後要進行的所有操作都是對這個Document操作的:

Reader returnQuote = new StringReader(rexml);

Document doc = builder.build(returnQuote);

(3)得到根元素:

Element books=doc.getRootElement();

在JDOM中所有的節點(DOM中的概念)都是一個org.jdom.Element 類,當然他的子節點也是一個org.jdom.Element類。

(4)得到元素(節點)的集合:

List booklist=books.getChildren(“book”);

這表示得到“books”元素的所在名稱為“book”的元素,并把這些元素都放到一個List集合中

得到單個元素Element segment= books.getChild(“Segment”);

(5)輪循List集合

for (Iterator iter = booklist.iterator(); iter.hasNext();) {

Element book = (Element) iter.next();

還有一種輪循方法是:

for(int i=0;I

Element book=(Element)booklist.get(i);

}

(6)取得元素的屬性:

String email=book.getAttributeValue(“email”);

取得元素book的屬性名為“email”的屬性值。

(7)取得元素的子元素(為最低層元素)的值:

String name=book.getChildTextTrim(“name”);

注意的是,必須确定book元素的名為“name”的子元素隻有一個。

(8)改變元素(為最低層元素)的值:

book.getChild(“name”).setText(“alterrjzjh”);

這隻是對Document的修改,并沒有在實際的XML文檔中進行修改

(9)儲存Document的修改到XML檔案中:

XMLOutputter outputter=new XMLOutputter();

outputter.output(doc,new FileOutputStream(xmlpath));

我們先要有一個 XMLOutputter類,再把已經修改了的Document儲存進XML文檔中

xml