一、準(zhǔn)備
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);
③得到根節(jié)點(diǎn):
Element e = doc.getRootElement();
二、操作
(1)讀取
1、
①得到指定子節(jié)點(diǎn):
e.getChild("節(jié)點(diǎn)名");
②得到指定子節(jié)點(diǎn)內(nèi)容:
e.getChild(節(jié)點(diǎn)名).getValue();
或
e.getChildText(節(jié)點(diǎn)名);
③得到指定屬性值:
e.getAttributeValue(屬性名);
④遍歷子節(jié)點(diǎn):
java.util.List l = e.getChildren(); //得到所有子節(jié)點(diǎn)列
或
java.util.List l = e.getChildren(); //得到指定名字的子節(jié)點(diǎn)列
遍歷:
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(節(jié)點(diǎn)名).setText(內(nèi)容);
(3)添加
①新建節(jié)點(diǎn)
Element newE = new Element(節(jié)點(diǎn)名);
Element sm = new Element(節(jié)點(diǎn)名);
②為節(jié)點(diǎn)添加內(nèi)容
sm.addContent(內(nèi)容);
③將一個(gè)節(jié)點(diǎn)加入另一個(gè)節(jié)點(diǎn)
newE.addContent(sm);
root.addContent(newE);
④為節(jié)點(diǎn)添加屬性及值
newE.setAttribute("id",id);
(4)刪除
刪除當(dāng)前節(jié)點(diǎn):
e.getParentElement().removeContent(e);
三、寫文件
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat().setEncoding("gb2312")); //設(shè)制編碼為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 閱讀(653)
評(píng)論(0) 編輯 收藏