import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import java.io.*;
public class cute{public static void main(String args[]){
try{org.jdom.input.SAXBuilder sb=new org.jdom.input.SAXBuilder();
//创建文档
org.jdom.Document doc=sb.build(new FileInputStream("c:\\example.xml"));
//加入一条处理指令
org.jdom.ProcessingInstruction pi = new ProcessingInstruction("xml-stylesheet","href=\"bookList.html.xsl\" type=\"text/xsl\"");
//把这条处理指令,加入文档中
doc.addContent(pi);
//获得这个文档得跟元素
org.jdom.Element el=doc.getRootElement();
//获得这个跟元素,的所有子元素
java.util.List ls=el.getChildren();
//得到第一个子元素
org.jdom.Element book=(Element)ls.get(0);
//给这个字元素添加一条属性
org.jdom.Attribute attr=new Attribute("hot","true");
book.setAttribute(attr);//获得这个元素的子元素,(指定)
org.jdom.Element el2=book.getChild("author");
//输出这个元素的值
System.out.println(el2.getName());
//给这个元素的值改个名字
el2.setText("cute");//再指定元素获得这个值
org.jdom.Element el3=book.getChild("price");
//给这个值换个值
el3.setText(Float.toString(50.0f));
String a="";
boolean bool=true;org.jdom.output.XMLOutputter xml= new org.jdom.output.XMLOutputter(a,bool,"gb2312");
xml.output(doc,new FileOutputStream("c:\\cute.xml"));}catch(Exception e){
System.out.println(e.getMessage());}
}
}
import org.jdom.input.*;
import org.jdom.output.*;
import java.io.*;
public class cute{public static void main(String args[]){
try{org.jdom.input.SAXBuilder sb=new org.jdom.input.SAXBuilder();
//创建文档
org.jdom.Document doc=sb.build(new FileInputStream("c:\\example.xml"));
//加入一条处理指令
org.jdom.ProcessingInstruction pi = new ProcessingInstruction("xml-stylesheet","href=\"bookList.html.xsl\" type=\"text/xsl\"");
//把这条处理指令,加入文档中
doc.addContent(pi);
//获得这个文档得跟元素
org.jdom.Element el=doc.getRootElement();
//获得这个跟元素,的所有子元素
java.util.List ls=el.getChildren();
//得到第一个子元素
org.jdom.Element book=(Element)ls.get(0);
//给这个字元素添加一条属性
org.jdom.Attribute attr=new Attribute("hot","true");
book.setAttribute(attr);//获得这个元素的子元素,(指定)
org.jdom.Element el2=book.getChild("author");
//输出这个元素的值
System.out.println(el2.getName());
//给这个元素的值改个名字
el2.setText("cute");//再指定元素获得这个值
org.jdom.Element el3=book.getChild("price");
//给这个值换个值
el3.setText(Float.toString(50.0f));
String a="";
boolean bool=true;org.jdom.output.XMLOutputter xml= new org.jdom.output.XMLOutputter(a,bool,"gb2312");
xml.output(doc,new FileOutputStream("c:\\cute.xml"));}catch(Exception e){
System.out.println(e.getMessage());}
}
}
解决方案 »
- 有个小问题,请高手解决一下
- 小弟困于苦海,急请各路高手来相救!
- 谁有用jsp做的电子商务系统啊 设计模式也行
- 如何获取fckeditor文本框里面被选择对象(图片)的属性值(长宽)??
- 请教:J2EE与J2ME哪个更有发展呀?
- 求一session的问题解决方法
- Jboss+JBuilder配置问题
- j2ee 工程之间实体bean的操作
- VC区的帖子。。。 看看吧
- 一直不太明白springmvc的action层和ajax交互的数据到底是Json对象还是json字符串
- 求助java解析和修改xml文档的详细方法
- 在一个类里面经过处理将数据赋到一个数组里,如何将此数组作为一个参数传到另一个类的方法里?
问题是:
jdom中,在写入物理文件时,怎样能做到只修改某个Element,而不是重写整个物理文件?
它自己会记录修改过的节点,并只更新它们:)当然,如果实在不行,你还是自己来分析XML,自己用随机方式来进来更新吧
jdom一次读入内存,然后就与文件没有关系了(你把文件删了都可以)然后你想怎么改变element的值都可以,但是如果要保存修改后的数据到xml。必须重新写回xml文件,重新output一次。