import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import java.io.*;
import java.util.List;
public class JDomeSample
{
public static void main(String[] args) throws Exception // 如果有任何异常则抛出
{
SAXBuilder sb = new SAXBuilder(); // 新建立构造器
Document doc = sb.build(new FileInputStream("1.xml")); // 读入1.xml
Element root = doc.getRootElement(); // 取得根节点, 就是例子中的<total>节点
List list = root.getChildren(); // 取得根节点下一层所有节点放入List类中
for(int i=0; i<list.size(); i++)
{
System.out.println("-------------------------");
Element item = (Element)list.get(i); // 取得节点实例
String name = item.getAttribute("name").getValue(); // 取得属性的值
System.out.println("NAME-->"+name);
Element sub = item.getChild("sub"); // 取得当前节点的指定子节点
String text = sub.getText(); // 取得指定子节点的内容
System.out.println("SUB-->"+text);
sub.setText("new item"+String.valueOf(i) ); // 改变子节点的内容
}
Element item = (Element)list.get(0); // 取得根节点下第一个子节点
Attribute a = new Attribute("started","true"); // 增加一个新的属性
item.addAttribute(a);
item.setAttribute("name","new item"); // 改变旧的属性值
String indent = ""; // 缩进符号
boolean newLines = false; // 是否产生新行
XMLOutputter outp = new XMLOutputter (indent,newLines,"gb2312"); // 构造新的输出流
outp.output(doc, new FileOutputStream("2.xml")); // 输出到2.XML文件中
}
}