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