*设为首页
*加入收藏
热门关键字: JAVA
>>当前位置:Java大本营>JAVA与XML>文章内容
jdom读写XML文件
作者: 发布时间:2007-11-22 00:33:37

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();
        }
    }

}
 


·Java中四种XML解析技术(05-21)
·XML解析技术 (03-20)
·java中用dom解析xml(02-02)
·如何用Java实现基于XML的购物车 (01-21)
·JavaBeans至XML的相互转换 (01-20)
·XML: XSL (01-19)
·xml的转换之pdf (xml+xsl 2 pdf) (01-09)
·XML安全相关 (01-09)
·xml的转换之html (01-09)
·XMLHttpRequest and jsp servlet (12-26)
·用Spring的Resource管理SQL的XML配置文(12-22)
·使用Java解析XML文件之JDOM (12-20)
复制地址发给您的好友: [推荐文章] [返回顶部] [关闭窗口]
版权所有 Java大本营 1999-2007 转载请注明出处