`
chenlb
  • 浏览: 695808 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

dom4j 读 xml 文件

阅读更多
     由于要保存一些项目中只有一个而且很少改的,用数据库存储太浪费了,用xml保存吧。

 1.现在来看下读xml,xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>

<company> 
  
<tel>020-12345678-66</tel>  
  
<tel>020-12345678-85</tel>  
  
<introduce> 
  
<![CDATA[
<br/><h1>公司简介</h1>
  
]]>
  
</introduce>  
</company>

2.用dom4j 读,
package cn.rentbus;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
//import java.io.FileWriter;
import java.util.Iterator;
import java.util.List;
import java.util.Random;

import junit.framework.TestCase;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class Dom4jXmlTest extends TestCase {

    
protected final Log logger = LogFactory.getLog(getClass());
    
    
private SAXReader reader;
    
private Document document;
    
private File xmlFile;
    
    
protected void setUp() throws Exception {
        xmlFile 
= new File("WEB-INF/company.xml");
        reader 
= new SAXReader();
        document 
= reader.read(xmlFile);

    }

    
protected void tearDown() throws Exception {
        
super.tearDown();
    }

    
public void testReadXml() {
        Element root 
= document.getRootElement();
        
        
for ( Iterator i = root.elementIterator( "tel" ); i.hasNext(); ) {
            Element tel 
= (Element) i.next();
            logger.info(
"tel: "+tel.getTextTrim());
            
// do something
        }
        
        logger.info(
"==== XPath use on tel ====");
        
        List list 
= document.selectNodes("/company/tel" );
        
for(Element tel : (List<Element>) list) {
            logger.info(
"tel: "+tel.getTextTrim());
        }
        
        
for ( Iterator i = root.elementIterator( "introduce" ); i.hasNext(); ) {
            Element introduce 
= (Element) i.next();
            logger.info(
"introduce: "+introduce.getTextTrim());
            
// do something
        }
        
        logger.info(
"==== XPath use on introduce ====");
        
        Node node 
= document.selectSingleNode("/company/introduce");
        
        String introduce 
= node.getText();
        logger.info(
"introduce: "+introduce.trim());
        
        
    }
    
}


注意:如果用到XPath,需要jaxen-1.1-beta-6.jar(发本包/lib下有)

我的环境:
dom4j-1.6.1.jar
jaxen-1.1-beta-6.jar
分享到:
评论

相关推荐

    DOM4j操作xml文件

    DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件

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

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

    dom4j解析xml文件的压缩包

    5. **事件驱动解析(SAX)**:除了传统的DOM解析外,DOM4J还支持SAX解析器,这种解析方式适用于处理大型XML文件,因为它不需要一次性加载整个文档到内存。 6. **Namespace支持**:DOM4J提供了对XML命名空间的全面...

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

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

    dom4j解析xml文件代码示例

    在本示例中,我们将深入探讨如何使用DOM4J解析XML文件,以`CacheInit.java`作为我们的核心代码示例,并参考`emailTemplateConfig.xml`作为实际操作的对象。 首先,让我们了解XML(eXtensible Markup Language)。...

    dom4j解析xml详解

    - **配置文件解析**: 许多应用使用XML作为配置文件的格式,DOM4J可以方便地读取和更新这些配置信息。 - **Web服务**: 在SOAP等协议中,XML是常用的数据传输格式,DOM4J能够帮助构建和解析这些XML消息。 - **文档生成...

    dom4j读写xml文档实例

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

    dom4j读写xml文件

    在本文中,我们将深入探讨DOM4J如何实现XML文件的读取和写入,并通过一个实际的`analysisXml`示例来展示其工作原理。 首先,我们需要理解XML的基本概念。XML(eXtensible Markup Language)是一种标记语言,用于...

    用dom4j解析xml文件

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

    使用Maven管理项目,实现DOM4j操作XML文件

    在这个示例中,我们将深入探讨如何利用Maven管理和DOM4j来操作XML文件。 首先,让我们了解一下Maven。Maven是Apache软件基金会的一个项目,它通过定义项目对象模型(Project Object Model,POM)来管理项目的构建、...

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

    本文将深入探讨如何使用Dom4J库来创建XML文档,包括初始化文档、添加元素、设置属性、插入文本以及最终保存文档至文件系统。 #### 一、Dom4J简介 Dom4J(Document Object Model for Java)是一款开源的、轻量级的...

    分别使用DOM和DOM4j解析XML文件

    本篇文章将详细介绍如何使用DOM(Document Object Model)和DOM4j这两种流行的方法来解析XML文件。 首先,DOM是一种标准的W3C推荐的解析XML的方法,它将整个XML文档加载到内存中,形成一个树形结构,便于程序进行...

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

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

    使用DOM4j解析XML文件

    ### 使用DOM4j解析XML文件:提升开发效率与代码可读性 在现代软件开发中,XML(Extensible Markup Language)是一种广泛使用的数据交换格式,它以人类可读的文本形式存储结构化信息。然而,如何高效、准确地解析XML...

    通过Dom4j创建和读取xml文件下载

    在Java编程中,DOM4J是一个非常流行的XML处理库,它提供了一套强大的API来创建、解析和操作XML文档。...通过运行`Dom4jTest.java`,我们可以确保DOM4J的实现与预期一致,从而在实际项目中安全地使用DOM4J处理XML文件。

    dom4j解析XML文件格式

    ### DOM4j解析XML文件格式详解 #### 一、DOM4j概述与环境搭建 DOM4j(Document Object Model for XML)是一款Java平台上的开源XML处理库,它提供了灵活、高效且易于使用的API来处理XML数据。DOM4j支持DOM、SAX、...

    dom4j解析xml文件必备jar包

    例如,你可以使用DOM4J来读取XML文件,通过Jaxen执行XPath查询来提取特定信息,然后使用DOM4J提供的方法更新XML文档内容。同时,Xerces可以确保XML文档遵循预定义的结构规则。 在实际开发中,将这些jar包添加到项目...

    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简介 DOM4J(Document Object Model for XML)是一款Java平台下的轻量级XML处理框架。它提供了一种非常简便的方式来读取、写入以及操作XML文档。相比于SAX和DOM等...

Global site tag (gtag.js) - Google Analytics