Jdom使用例子

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文件中
  }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章