原文地址:http://blog.youkuaiyun.com/bemavery/article/details/36057059
DOM4J是 dom4j.org 出品的一个开源 XML解析包。DOM4J应用于 Java 平台,采用了 Java集合框架并完全支持DOM,SAX和JAXP。DOM4J使用起来非常简单。只要你了解基本的 XML-DOM模型,就能使用。下面介绍一些基础的应用
创建xml文件
- publicstatic void main(String args[]){
-
- String fileName="c:/text.xml";
-
-
- Document document=DocumentHelper.createDocument();
-
-
- Element booksElement=document.addElement("books");
-
- booksElement.addComment("This is a test for dom4j ");
-
- Element bookElement=booksElement.addElement("book");
-
- bookElement.addAttribute("show","yes");
-
-
- Element titleElement=bookElement.addElement("title");
-
- titleElement.setText("ajax in action");
- try{
- XMLWriter writer=new XMLWriter(new FileWriter(newFile(fileName)));
-
- writer.write(document);
-
- writer.close();
-
- }catch(Exception e){
-
- e.printStackTrace();
-
- }
-
- }
读取XML文档:
读写XML文档主要依赖于org.dom4j.io包,有DOMReader和SAXReader两种方式。因为利用了相同的接口,它们的调用方式是一样的。
- publicstatic Document load(String filename) {
-
-
- Document document = null;
-
- try {
-
- SAXReader saxReader = new SAXReader();
-
-
- document = saxReader.read(newFile(filename));
-
- } catch (Exception ex) {
- ex.printStackTrace();
-
- }
-
- return document;
-
- }
-
- 或
-
- publicstatic Document load(URL url) {
-
- Document document = null;
-
- try {
-
- SAXReader saxReader = new SAXReader();
-
-
-
- document = saxReader.read(url);
-
- } catch (Exception ex) {
- ex.printStackTrace();
-
- }
-
- return document;
-
- }
//读取指定的xml文件之后返回一个Document对象,这个对象代表了整个XML文档,用于各种Dom运算。执照XML文件头所定义的编码来转换。
获取根节点
根节点是xml分析的开始,任何xml分析工作都需要从根开始
- Xml xml = new Xml();
-
- Document dom = xml.load(path +"/" + file);
-
- Element root = dom.getRootElement();
新增一个节点以及其下的子节点与数据
- Element menuElement =root.addElement("menu");
-
- Element engNameElement =menuElement.addElement("engName");
-
- engNameElement.setText(catNameEn);
-
- Element chiNameElement =menuElement.addElement("chiName");
-
- chiNameElement.setText(catName);
写入XML文件
- public static booleandoc2XmlFile(Document document, String filename) {
- boolean flag = true;
- try {
- XMLWriter writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream(filename),"UTF-8"));
- writer.write(document);
- writer.close();
- } catch (Exception ex) {
- flag = false;
- ex.printStackTrace();
- }
- System.out.println(flag);
- return flag;
- }
一些基本的操作,了解这些,基本上可以简单的应用xml文件了