一、準備
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
①
String path = xml文檔路徑;
②
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(path);
③得到根節點:
Element e = doc.getRootElement();
二、操作
(1)讀取
1、
①得到指定子節點:
e.getChild("節點名");
②得到指定子節點內容:
e.getChild(節點名).getValue();
或
e.getChildText(節點名);
③得到指定屬性值:
e.getAttributeValue(屬性名);
④遍歷子節點:
java.util.List l = e.getChildren(); //得到所有子節點列
或
java.util.List l = e.getChildren(); //得到指定名字的子節點列
遍歷:
for (int i=0; i<l.size(); i++) {
Element e2 = (Element)l.get(i);
ArrayList tl = new ArrayList();
tl.add(e2.getChildText("url"));
tl.add(e2.getChildText("sm"));
list.add(tl);
}
(2)編輯
e.getChild(節點名).setText(內容);
(3)添加
①新建節點
Element newE = new Element(節點名);
Element sm = new Element(節點名);
②為節點添加內容
sm.addContent(內容);
③將一個節點加入另一個節點
newE.addContent(sm);
root.addContent(newE);
④為節點添加屬性及值
newE.setAttribute("id",id);
(4)刪除
刪除當前節點:
e.getParentElement().removeContent(e);
三、寫文件
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat().setEncoding("gb2312")); //設制編碼為gb2312以寫入中文
java.io.OutputStream outStream = new java.io.FileOutputStream(path);
outputter.output(doc, outStream);
outStream.flush();
outStream.close();
posted on 2007-08-10 08:33
cccp21 閱讀(652)
評論(0) 編輯 收藏