使用jdom.jar心得小结

来源:互联网 发布:windows 安装 samba 编辑:程序博客网 时间:2024/06/16 10:26

Jdom的api很好用,有人说比SAX或是DOM好用多了。虽然没用过那两个东西,但是还是觉得用Jdom操作XML很方便。

值得注意的是,在web应用的时候,不光要在工程里面引入开发包,而且还要在webinfo/lib下面部署一遍。要不然会出现部署时报java.lang.NoClassDefFoundError: org.jdom.Content

的错误。

对于一个文件的操作,无外乎就是读,写,删三种操作。SAXBuilder,Document ,Element 是操作的核心。其中,Element封装了一些节点操作(比如说获得/修改节点内容,获得/修改节点属性等等)。在生成Document对象的时候,需要传入FileInputStream实例。将XML文件导入到内存中变成Document对象。在操作的时候要显得到root节点,因为整个XML文档是个树形结构。

FileInputStream fi = new FileInputStream(“文件路径”);

           SAXBuilder saxBuiler = new SAXBuilder();

           Document doc = saxBuiler.build(fi);

           Element root = doc.getRootElement();

           List leaves = root.getChildren ();

短短的5句话就将需要操作的XML文档从硬盘里读出来了,根节点挂到了(Element)root上面,所有的第一层的叶子都挂在(List)leaves里面了。每一个节点(包括root节点)都是Element类型的,因此获得/修改节点内容,获得/修改节点属性等等都可以通过相应的API函数如:

getAttributue,setAttributue,getText去操作。

当操作完之后可以通过另一系列操作:

//initialize a new xml out putter objects and set its format

           //as compact

           XMLOutputter xmlOutPutter=new XMLOutputter();

           xmlOutPutter.setFormat (Format.getPrettyFormat ());

FileOutputStream fileOutputStream=new FileOutputStream(“文件路径”);

           xmlOutPutter.output(doc,fileOutputStream);

也是这么几句可以复用的语句就将硬盘里的XML文件更新了。

原创粉丝点击