`
lzth
  • 浏览: 142308 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

dom4j读写xml文件

    博客分类:
  • Java
阅读更多
1. 参考 dom4j-1.6.1\dom4j-1.6.1\docs\guide.html

2. Jom4jTest.java文件

/**
*
*/
package com.jquerypro.test;

import java.io.FileOutputStream;
import java.net.URL;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

/**
 * @author myhello
 *
 */
public class Jom4jTest {

 private Element rootElm = null; //根结点
 private String FILE_NAME = "com/jquerypro/test/sys-config.xml";
 private Jom4jTest instance = null;
 
 private Jom4jTest(){
  try {
   SAXReader reader = new SAXReader();
   //URL urlFile = Thread.currentThread().getContextClassLoader().getResource(""); //到达class
   Document document = reader.read(Thread.currentThread().getContextClassLoader().getResourceAsStream(FILE_NAME));
   rootElm = document.getRootElement(); 
   System.out.println("根结点名称="+rootElm.getName());
  } catch (Exception e) {
   System.out.println(" 没有找到文件");
  }

 }
 
 public Jom4jTest getInstance(){
  if(instance == null){
   instance = new Jom4jTest();
  }
  return instance;
 }
 // 读取一些信息
 public void getInfo(){

   Node jdbcElm = rootElm.selectSingleNode("//system-config/jdbc-info/driver-name");
   System.out.println("selectNode="+jdbcElm.getText());
  
   //System.out.println(rootElm.asXML());
   //遍历元素
   List nodeList = rootElm.selectNodes("//system-config/beans/bean");
   for ( Iterator it = nodeList.iterator(); it.hasNext(); ) {
    Element elm = (Element)it.next();
   
    System.out.println("元素的内容="+elm.getText());
   
    //属性遍历
    for ( Iterator i = elm.attributeIterator(); i.hasNext(); ) {
              Attribute attribute = (Attribute) i.next();
              System.out.println("元素的属性名和值:"+attribute.getName()+"="+attribute.getStringValue());
       }
   
   } 

 }
 
 //创建document对象 //DocumentHelper
 public Document createDoc(){
   Document document = DocumentHelper.createDocument();
      Element rootElm = document.addElement( "students" );
      Element student1 = rootElm.addElement( "student" )
         .addAttribute( "id", "001" )
         .addAttribute( "username", "hello1" )
         .addText( "学生1" );
    
      Element student2 = rootElm.addElement( "student" )
         .addAttribute( "id", "002" )
         .addAttribute( "username", "hello2" )
         .addText( "学生2" );

      return document;

 }
 
 public void savaXML(String filePath) throws Exception{
  XMLWriter writer = new XMLWriter(new FileOutputStream(filePath));
  Document document = createDoc();
  writer.write(document);
  //查看字符串
  String docStr = document.asXML();
  //System.out.println("docStr="+docStr);
  
      // Pretty print the document to System.out
      OutputFormat format = OutputFormat.createPrettyPrint();  
      format.setEncoding("GBK");
      writer = new XMLWriter( System.out, format );
      writer.write( document );  

 }
 public static void main(String[] args) throws Exception {
  Jom4jTest test= new Jom4jTest();
  test.savaXML("d:/xml_test.xml");
 }
}
分享到:
评论

相关推荐

    dom4j读写xml文档实例

    要使用DOM4J读取XML文档,首先需要创建一个`SAXReader`对象,然后调用`read`方法传入XML文件路径。这将返回一个`Document`对象,我们可以从中获取所有元素信息。 ```java File file = new File("path_to_xml_file")...

    读写超大类xml文件,使用dom4j读写xml文件的工具类

    基于dom4j的读写xml文件的工具包。封装了dom4j操作xml文档的常和方法。 支持两种读写方法。1:针对小文件的读取整个文档,2:针对大文件的,逐行读取。读到几百M文件毫无压力。

    dom4j解析xml文件(增删改查)

    在“dom4j解析xml文件(增删改查)”这个主题中,我们将深入探讨如何使用DOM4J来实现XML文档的四种基本操作:增加元素、删除元素、更新元素内容以及查询元素。 首先,让我们了解DOM4J的基本用法。在解析XML文件时,...

    dom4j解析xml文件的压缩包

    6. **Namespace支持**:DOM4J提供了对XML命名空间的全面支持,可以方便地处理包含命名空间的XML文档。 7. **DocumentType支持**:对于包含DOCTYPE声明的XML文档,DOM4J可以处理这些声明,并提供对应的DocumentType...

    使用dom4j读写XML文档

    ### 使用dom4j读写XML文档的关键知识点 #### 一、简介与安装 - **DOM4J** 是一款用于处理XML文档的Java库,它提供了简单且强大的API来解析、创建、修改XML文档。 - 官方网站:[http://www.dom4j.org/]...

    dom4j解析xml详解

    DOM4J的核心优势之一在于其丰富的接口体系,这些接口定义在`org.dom4j`包内,提供了对XML文档进行读写、查询、修改等操作的能力。 1. **Attribute**: 代表XML中的属性,可用于获取和设置属性值。 2. **Branch**: ...

    dom4j_XML.rar_DOM4J_dom4j xml java_java xml_读写xml

    6. **示例代码**:压缩包中的“dom4j读写xml文件.htm”可能包含了具体的代码示例,演示了如何使用DOM4J读取和写入XML文件。通常,这些示例会包括打开XML文件、获取根元素、遍历元素、修改元素内容、以及保存修改后的...

    使用DOM4J对XML文件操作-添加、修改、删除、获取元素节点

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。在本教程中,我们将深入探讨如何使用DOM4J来执行基本的XML操作,包括添加元素、修改元素、删除...

    Dom4J生成XML的完整方法希望大家能用到

    ### Dom4J生成XML的完整方法详解 在Java开发领域,处理XML文档是常见的需求之一。Dom4J作为一款优秀的Java XML API,...掌握以上知识点,开发者即可熟练运用Dom4J生成复杂的XML文档,满足项目中对XML数据处理的需求。

    java中dom4j读写XML

    DOM4J是基于DOM模型的,但相比标准的Java DOM,它提供了更加简洁和高效的API,使得开发者在处理XML文档时更加方便。 XML(Extensible Markup Language)是一种用于标记数据的语言,广泛应用于网络数据交换、配置...

    DOM、SAX、JDOM、DOM4J读写xml文档

    DOM4J对DOM进行了优化,提供了更多便利的功能。 1. **DOM4J读取XML**:使用`dom4j.io.SAXReader`读取XML,可以轻松地访问和操作XML元素。 2. **DOM4J写入XML**:创建`Document`,添加元素和属性,然后使用`dom4j.io...

    Dom4j下载及使用Dom4j读写XML简介

    Dom4j解析教程。详细讲解如何使用dom4j解析xml,简单易懂。

    dom4j解析xml

    ### DOM4J解析XML知识点详解 ...通过结合使用DOM4J的基本类和XPath表达式,可以轻松地实现对XML文档的查询和修改。无论是对于开发人员还是对于那些需要频繁处理XML数据的应用程序来说,DOM4J都是一个非常有价值的工具。

    dom4j 解析(读取) xml 节点数据

    要开始解析XML文件,首先需要导入DOM4J的相关包: ```java import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; ``` 接下来,我们将创建...

    使用dom4j对xml的读写

    **使用DOM4J对XML的读写** DOM4J是一个非常强大的Java库,专门用于处理XML文档。它提供了丰富的API,使得XML的读取、创建、修改和解析变得简单易行。相较于JDOM,DOM4J确实提供了更多的功能,虽然在学习曲线方面...

    用dom4j解析xml文件

    本篇文章将深入探讨如何使用DOM4J来解析XML文件,以及通过示例代码来展示其基本操作。 首先,我们需要理解DOM4J的工作原理。DOM4J采用的是DOM(Document Object Model)模型,它将整个XML文档加载到内存中形成一棵...

Global site tag (gtag.js) - Google Analytics