jdom

Jdom api 很好用,有人说比 SAX 或是 DOM 好用多了。虽然没用过那两个东西,但是还是觉得用 Jdom 操作 XML 很方便。
值得注意的是,在 web 应用的时候,不光要在工程里面引入开发包,而且还要在 webinfo/lib 下面部署一遍。要不然会出现
root cause
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 函数如:
getAttributeValue setAttributeValue 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 文件更新了。

你可能感兴趣的:(职场,休闲)