jdom处理xml文件

就拿实现某些功能说明一下吧
xml文件如下
<?xml version="1.0"?>
<studentData>
   
<student id="001">
     
<studentName>李小龙</studentName>
     
<studentAge>21</studentAge>
     
<studentAdd>香港</studentAdd>
   
</student>
   
<student id="002">
     
<studentName>成龙</studentName>
     
<studentAge>23</studentAge>
     
<studentAdd>山东</studentAdd>
   
</student>
</studentData>
先实现一个在studentData下在加一个学生,id="003"...
//其实程序一共分4部
//1.解析xml文件,获得document文档对象模型
//2.建立子元素及属性和设置值
//3.加到根节点
//4.保存到文件

//第1部-解析xml文件 并返回document
public Document GetXml(String url){

//在新版本中DOMBuilder已经Deprecated掉
//DOMBuilder.builder(url),用SAX效率会比较快。

    SAXBuilder sb 
= new SAXBuilder();
        Document doc 
= null;
        
try {
//url:文件绝对路径
            doc = sb.build(url);
        }
 catch (JDOMException ex) {
            ex.printStackTrace();
        }

        
return doc;
}


//第2部:建立子元素及属性和设置值
public static Element AddValues(String id, String values, String name, String sex,
                             String birthday, String sore, String message) 
{

//创建节点student
        Element el_node = new Element("student");

//创建属性 给于值
        Attribute at_stu = new Attribute(id, values);

//给student节点添加属性
        el_node.addAttribute(at_stu);

//创建子节点studentName
        Element child_name = new Element("studentName");

//给studentName节点添加文本
        child_name.addContent(name);
        el_node.addContent(child_name);

//将studentName添加到student节点
        Element child_sex = new Element("studentSex");

//创建子节点studentSex
        child_sex.addContent(sex);

//给studentSex添加文本
        el_node.addContent(child_sex);

//将studentSex添加到student节点

        Element child_birthday 
= new Element("studentBirthday");
        child_birthday.addContent(birthday);
        el_node.addContent(child_birthday);

        Element child_sore 
= new Element("studentSore");
        child_sore.addContent(sore);
        el_node.addContent(child_sore);

        Element child_message 
= new Element("studentMessage");
        child_message.addContent(message);
        el_node.addContent(child_message);

//返回一个根节点的子节点
        return el_node;
    }


//最后写个主函数调用方法(前几步)
    public static void main(String[] args) throws IOException {
        testXMlParse p 
= new testXMlParse();
        Document doc 
= p.GetXml("E:\\student.xml");

//得到跟节点
        Element root = doc.getRootElement();

//把子节点加到根节点
        root.addContent(AddValues("id","S109""李小龙""""1976.4.3","91""该学员只有oracle技术"));

//添加到跟节点
        XMLOutputter out = new XMLOutputter();
        File file 
= new File("E:\\student.xml");
    FileOutputStream stream 
= new FileOutputStream(file);

//设置格式
        out.setNewlines(true);
  //设置缩进
        out.setIndent(true);
//保存到文件
        out.output(doc,stream);
        
//out.output(doc,System.out);

    }

}
posted @ 2008-06-13 19:49  Shinepolo  阅读(286)  评论(0编辑  收藏  举报