一、准备
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 阅读(644)
评论(0) 编辑 收藏