`

Dom4j 主要接口

 
阅读更多

Document

整个文档对象,

add()方法添加子节点。

getRootElement()得到根节点。

QName

可创建的Element的基本元素名称

Element

节点

static createElement(QName qName)可创建节点

addText(String text)可添加元素的内容。add方法添加子节点。

element(String eleName)查询节点中名字为eleName的子节点。

elements(String eleName)查询节点名字为eleName的子节点列表。

selectNodes(String nodePath)查询路径为nodePath的子节点列表。

selectSingleNode(String nodePath)查询路径为nodePath的单个子节点(Element)。

OutputFormat

createPrettyPrint()可美化格式的输出。

setEncoding(String encoding) 设置编码.

XMLWriter:

new XMLWriter(new FileWriter(xmlFilePath), format)可创建xmlWriter对象。  write(Document doc)将整个doc写入到xmlWriter对象中。

close()方法:关闭io流,必写。

 

 

写入到xml文件:

 

/**//* 创建Document */
        Document doc = DocumentHelper.createDocument();

        QName serverListQName = new QName("ServerList");
        Element serverListElement = DocumentHelper.createElement(serverListQName);
        doc.add(serverListElement); //加到父节点doc
QName serverQName = new QName("server");
             Element serverElement = DocumentHelper.createElement(serverQName);
             serverListElement.add(serverElement); //加到父节点ServerList
        	
	        QName ipQName = new QName("ip");
	        Element ipElement = DocumentHelper.createElement(ipQName);
	        ipElement.addText("XXX.XX.XX.XX");
	        serverElement.add(ipElement); //加到父节点server

OutputFormat format = OutputFormat.createPrettyPrint();/**//* 美化格式的输出 */
        // OutputFormat format = OutputFormat.createCompactFormat();/*
       // 压缩格式的输出,节省空间 */
        format.setEncoding("utf-8");/**//* xml的编码 */
        XMLWriter writer = new XMLWriter(new FileWriter("test.xml"), format);  //文件的路径。
        writer.write(doc);
        writer.close();/**//* 必写无疑 */

 

生成后的文件test.xml

 

<?xml version="1.0" encoding="utf-8"?>

<ServerList>
  <server>
    <ip>XXX.XX.XX.XX</ip>
  </server>
</ServerList>

 

读取xml文件到List<ServerInfo>

/**
	 * 
	 * @param xmlFilePath
	 * @return
	 */
	public static List<ServerInfo> readXML(String xmlFilePath){
		File inputXml=new File(xmlFilePath);    
        SAXReader saxReader = new SAXReader();    
        Document document=null;
		try {
			document = saxReader.read(inputXml);
		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}    
        Element employees = document.getRootElement();
        Element serlistElement = employees.element("ServerList");
        List<Element> serverElementList = serlistElement.elements("server");
        List<ServerInfo> ServerInfoList = new LinkedList<ServerInfo>();
        for(Element serverElement:serverElementList){    
        	ServerInfoList.add(new ServerInfo(serverElement.element("ip").getText(),serverElement.element("servicePort").getText(),serverElement.element("webPort").getText(),serverElement.element("serverType").getText())); 
       }
        return ServerInfoList;
	}

  

分享到:
评论

相关推荐

    dom4j dom4j dom4j dom4j

    1. **丰富的API**:DOM4J提供了大量的接口和类,涵盖了XML处理的各个方面,如解析、创建、遍历、修改和查询XML文档。这些API设计简洁,易于理解和使用。 2. **XPath支持**:DOM4J支持XPath表达式,使得开发者可以...

    dom4j-2.1.3.zip

    DOM4J主要特性包括: 1. **灵活的文档构建**:DOM4J提供了多种方式来创建和修改XML文档,如通过元素、属性、文本节点等对象直接操作,或者使用XPath表达式定位。 2. **强大的查询能力**:DOM4J支持XPath,可以方便...

    dom4j_1.6.1.jar dom4j_2.1.0.jar

    3. **解析XML**:DOM4J提供两种主要的解析方式,SAX解析和DOM解析。SAX解析适用于大型XML文件,因为它以流式处理数据,占用内存小;DOM解析则将整个XML文档加载到内存,便于操作,适合小型文件。 4. **操作XML**:...

    DOM4J 的使用

    DOM4J 的主要特点是使用大量的接口,所有主要接口都在 org.dom4j 里面定义。 一、DOM4J 简介 DOM4J 是一个基于 Java 的 XML 解析包,用于解析和操作 XML 文档。它提供了一个简洁的 API,方便用户快速地解析和操作 ...

    dom4j基础入门文档(SAX,DOM,XPATH)

    一、dom4j主要接口 1. `org.dom4j.Attribute`: 表示XML文件的属性,用于存储元素的属性信息。 2. `org.dom4j.Branch`: 是一个接口,为XML元素和文档定义了公共行为,这些节点可以包含子节点。 3. `org.dom4j.CDATA`...

    dom4j-2.0.3.zip

    本篇将详细介绍DOM4J的核心概念、主要功能以及如何在实际项目中运用。 一、DOM4J简介 DOM4J是基于DOM模型的,但相比Java内置的DOM API,DOM4J更轻量级且易于使用。它支持XPath查询,提供了丰富的事件处理机制,...

    所有版本的dom4j工具包

    DOM4J的主要特点和功能包括: 1. **XML解析与构建**:DOM4J支持SAX和DOM解析器,可以将XML文档解析为树形结构。同时,它也提供了构建XML文档的方法,允许开发者动态创建XML内容。 2. **XPath支持**:DOM4J实现了...

    dom4j所依赖的所有jar包

    DOM4J通过提供SAX(Simple API for XML)和DOM的接口,使开发者可以选择更适合他们应用场景的方法来处理XML。 在DOM4J 1.6.1中,主要包含以下功能: 1. **XML解析**:DOM4J支持多种解析方式,包括SAX解析、DOM解析...

    dom4j需要的包

    2. `dom4j-1.6.1.jar`:这是DOM4J的主要库文件,包含了处理XML的所有功能。这个版本1.6.1是DOM4J的一个稳定版本,提供了许多特性,如读写XML文件、构建和修改XML结构、执行XPath查询、事件驱动的解析器以及XML ...

    dom4j教程,详细文档

    DOM4J的主要接口位于`org.dom4j`包中,每个接口都对应着XML文档中的一种结构或特性。 - **`Attribute`**: 定义了XML属性的行为。 - **`Branch`**: 表示可以包含子节点的节点,如`Element`和`Document`。 - **`CDATA...

    dom4j 2.1.1

    DOM4J的主要特点包括: 1. 易于使用:DOM4J的API设计直观,使得开发者可以快速上手,减少学习成本。它提供了丰富的接口和类,能够以面向对象的方式处理XML文档。 2. 性能优异:相比其他XML解析库,DOM4J在处理大...

    org.dom4j.jar

    4. **DOM支持**:除了SAX,DOM4J还兼容DOM接口,使得已有的DOM代码可以无缝地与DOM4J结合使用。 5. **StAX支持**:DOM4J还支持StAX(Streaming API for XML),这是一种更高效的XML处理方式,它允许程序在解析XML...

    dom4j.jar 下载

    描述中提到"dom4j.jar包用于解析xml文档使用,已经验证,解压引入工程即可使用",这说明DOM4J的主要用途是解析XML文档。XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,广泛应用于配置文件...

    dom4j完整版.zip

    这个“dom4j完整版.zip”压缩包包含了DOM4J的主要组件和相关资源,方便开发人员在项目中集成和使用。 首先,dom4j-1.6.1.jar是DOM4J库的核心文件,包含了所有必要的类和接口。这个版本的DOM4J支持Java DOM、SAX和...

    dom4j的Java工程

    DOM4J采用了Document Object Model (DOM)接口,但它的实现更加轻量级,性能更优。DOM4J的核心类包括`Element`、`Attribute`、`Document`和`Namespace`等,它们分别代表了XML文档中的元素、属性、文档和命名空间。 *...

    dom4j解析xml详解

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

Global site tag (gtag.js) - Google Analytics