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

 

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