RSS
热门关键字:  jsp信息管理  jsp  学生管理  孙鑫  西門掃雪
当前位置 :| 首页>J2EE技术>

jdom读写XML文件

来源:www.javaif.com 作者:Java世界 时间:2007-11-21 Tag: 点击:

直接看代码吧

import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import java.io.*;
import java.util.List;

public class XMLFile
{
    String id = "";
    String indent = ""; // 缩进符号
    SAXBuilder sb = new SAXBuilder();//建立构造器
    boolean newLines = true; // 是否产生新行
    XMLOutputter outp = new XMLOutputter (indent,newLines,"gb2312");
    public static void main(String[] args)
    {

    }
    public void modifyContent(String fileName,int pos,String name,String content) 修改XML内容
    {
        try
        {
            Document doc = sb.build(new FileInputStream(fileName));//读入指定文件
            Element root = doc.getRootElement();//获得根节点
            List list = root.getChildren();//将根节点下的所有子节点放入List中
            Element item = (Element)list.get(pos); // 取得根节点下第一个子节点   
            item.getChild(name).setText(content); //
            outp.output(doc,new FileOutputStream(fileName)); // 输出到2.XML文件中
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
       
    }
    public void listContent(String fileName) //读出,并列出XML内容
    {
        try
        {
            Document doc=sb.build(new FileInputStream(fileName));//读入指定文件
            Element root=doc.getRootElement();//获得根节点
            List list=root.getChildren();//将根节点下的所有子节点放入List中
            for(int i=0;i<list.size();i++)
            {           
                Element item = (Element)list.get(i);//取得节点实例
                String name = item.getAttribute("id").getValue();//取得属性值
                System.out.println("id: "+name);
                Element sub = item.getChild("title");//取得当前节点的字节点
                String text = sub.getText();//取得当前节点的值
                System.out.println("Title: "+text);
                Element sub2 = item.getChild("content");
                String text2 = sub2.getText();
                System.out.println("Content: "+text2);
                Element sub3 = item.getChild("time");
                String text3 = sub3.getText();
                System.out.println("Time: "+text3);
                id = name;
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
    public void addContent(String fileName,String title,String content,String time) //向XML文件添加内容.
    {
        try
        {
            Document doc=sb.build(new FileInputStream(fileName));//读入指定文件
            Element root=doc.getRootElement();//获得根节点
            List list=root.getChildren();//将根节点下的所有子节点放入List中
            Element article = new Element("message");
            article.setAttribute("id", (list.size()+2)+"");
            article.addContent(new Element("title").setText(title));
            article.addContent(new Element("content").setText(content));
            article.addContent(new Element("time").setText(time));
            doc.getRootElement().addContent(article);
            outp.output(doc, new FileOutputStream(fileName)); // 输出到2.XML文件中
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }

}


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
热门焦点
精彩推荐