直接看代码吧
:
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();
}
}
}

