package bankemhr;
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("E:/program/bankemhr/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.setAttribute(a);
//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("E:/program/bankemhr/2.xml")); // 輸出到2.XML文件中
}
}