`
wangminshe89
  • 浏览: 693305 次
文章分类
社区版块
存档分类
最新评论

Dom4j创建和解析XML

 
阅读更多

需要导入Dom4j的一个Jar文件:

Dom4j创建XML

package com.shengsiyuan.dom4j;

import java.io.FileOutputStream;
import java.io.FileWriter;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class Test1
{
public static void main(String[] args) throws Exception
{
// 创建文档并设置文档的根元素节点 :第一种方式
// Document document = DocumentHelper.createDocument();
//
// Element root = DocumentHelper.createElement("student");
//
// document.setRootElement(root);

// 创建文档并设置文档的根元素节点 :第二种方式
Element root = DocumentHelper.createElement("student");
Document document = DocumentHelper.createDocument(root);
//给根元素添加属性
root.addAttribute("name", "zhangsan");
//给根元素添加子元素
Element helloElement = root.addElement("hello");
Element worldElement = root.addElement("world");
//设置元素的文本内容
helloElement.setText("hello");
worldElement.setText("world");
//给hello元素添加属性
helloElement.addAttribute("age", "20");
//将XML文档输出到命令行
XMLWriter xmlWriter = new XMLWriter();
xmlWriter.write(document);
//指定输出格式,第一个参数表示缩进,第二个参数表示是否换行
OutputFormat format = new OutputFormat(" ", true);
//以字节流的方式输出到文件
XMLWriter xmlWriter2 = new XMLWriter(new FileOutputStream("student2.xml"), format);
xmlWriter2.write(document);
//以字符流的方式输出到文件
XMLWriter xmlWriter3 = new XMLWriter(new FileWriter("student3.xml"), format);
xmlWriter3.write(document);
//xmlWriter3.flush();//当你使用字符流输出的时候,需要有这个刷新的方法,否则没有结果输出
xmlWriter3.close();//close方法中包含xmlWriter3的flush方法,所以这个方法也可以

}
}

Dom4j解析XML

package com.shengsiyuan.dom4j;

import java.io.File;
import java.util.Iterator;
import java.util.List;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.DOMReader;
import org.dom4j.io.SAXReader;

public class Test2
{
public static void main(String[] args) throws Exception
{
//Dom4j解析XMl方式一:使用SAXReader解析XML
SAXReader saxReader = new SAXReader();
//读取文档
Document doc = saxReader.read(new File("student2.xml"));
//得到根元素
Element root = doc.getRootElement();

System.out.println("root element: " + root.getName());
//得到根元素下的所有子元素
List childList = root.elements();

System.out.println(childList.size());
//得到根元素下的所有名字为hello子元素
List childList2 = root.elements("hello");

System.out.println(childList2.size());
//得到根元素下的第一个名字为hello的子元素
Element first = root.element("hello");
//得到hello元素下的属性为age的值
System.out.println(first.attributeValue("age"));
//遍历根元素下的子元素的第二种方法,第一种是使用List
for(Iterator iter = root.elementIterator(); iter.hasNext();)
{
Element e = (Element)iter.next();
//获得子元素属性为age的值,没有age属性,输出null
System.out.println(e.attributeValue("age"));
}

System.out.println("---------------------------");

//Dom4j解析XMl方式二:使用DOMReader解析XML
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
//在一个项目中使用了名字相同的一个类,使用包名区分
org.w3c.dom.Document document = db.parse(new File("student2.xml"));

DOMReader domReader = new DOMReader();

//将JAXP的Document转换为dom4j的Document
Document d = domReader.read(document);

Element rootElement = d.getRootElement();

System.out.println(rootElement.getName());
}
}

分享到:
评论

相关推荐

    DOM4j创建和解析XML文档

    在这个主题中,我们将深入探讨DOM4j如何帮助我们创建和解析XML文档,以及其背后的原理和用法。 首先,DOM4j采用了Document Object Model(DOM)的概念,但它比标准的Java DOM实现更加轻量级,性能更优。DOM4j的核心...

    使用dom4j和jaxen解析xml

    - **dom4j+jaxen操作XML**:首先使用dom4j解析XML,然后通过jaxen创建XPath对象并执行查询。查询结果可以是元素、属性或其他XML节点,根据需要进行进一步处理。 例如,以下代码展示了如何使用dom4j和jaxen解析XML...

    dom4j解析xml详解

    ### DOM4J解析XML详解 #### 一、DOM4J简介与特性 DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时...

    dom4j创建及解析xml

    下面我们将深入探讨DOM4J在创建和解析XML方面的知识。 首先,创建XML文档主要通过Document对象实现。在DOM4J中,我们可以使用DocumentFactory来创建一个新的Document实例,然后添加Element、Attribute等节点。例如...

    dom4j下sax解析xml

    在提供的“analysis_xml”项目中,很可能包含了一个示例,演示了如何使用dom4j的SAX解析器解析XML文件。这样的测试项目有助于理解SAX解析的工作原理,并在实际开发中应用。 总结起来,dom4j库提供了DOM和SAX两种XML...

    dom4j---xml解析jar包

    在Java环境中,解析XML文档时,我们通常会遇到各种库,其中DOM4J是一个非常流行的、功能强大的开放源代码库。这个库不仅简化了XML处理,还提供了XPath和XSLT的支持,使其成为Java开发者处理XML的首选工具之一。 **...

    dom4j创建与解析xml分析与实例

    ### DOM4J创建与解析XML文档详解 #### 一、DOM4J简介 DOM4J是一种基于Java的轻量级XML处理库,它提供了一种简单直观的方式来读取、写入和修改XML文档。DOM4J是开源的,并且遵循Apache 2.0许可协议。与Java自带的...

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

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

    dom4j解析和创建xml简单实例

    1. DOM4J解析XML 当我们处理XML文档时,首先需要将其加载到内存中。DOM4J提供了Document接口来表示整个XML文档。使用SAXReader类可以从XML文件创建一个Document对象。例如: ```java SAXReader reader = new ...

    利用Dom4j生成XML和解析XML

    "Dom4j 生成 XML 和解析 XML" Dom4j 是一个 Java 库,用于处理 XML 文档。它提供了生成和解析 XML 文档的功能。在本文中,我们将学习如何使用 Dom4j 生成 XML 文档和解析 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文件的压缩包

    为了使用这个库,你需要将该jar包添加到项目的类路径中,然后就可以通过DOM4J提供的类和方法来解析和操作XML文件了。 总之,DOM4J是一个功能强大的XML处理库,无论是在小型项目还是大型系统中,都能发挥其优势,...

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

    使用DOM4J创建XML文件通常涉及以下步骤: - 创建`Document`对象,这代表XML文档的根节点。 - 创建`Element`对象并添加到`Document`中,表示XML文档的元素层次结构。 - 添加`Attribute`,为元素设置属性。 - ...

    dom,dom4j,sax 解析xml文件实例

    使用DOM4J解析XML,首先需要导入DOM4J库,然后使用`DocumentHelper`类的`parseText()`或`parse()`方法。比如: ```java Document doc = DocumentHelper.parseText(new File("testxml.xml").getText()); Element root...

    Dom4j结合XPath解析XML文件路径表达式

    本篇文章将深入探讨如何使用Dom4j,一个流行的Java库,结合XPath来解析XML文件中的路径表达式,同时阐述相对路径和绝对路径的匹配原则。 首先,我们要了解Dom4j库。Dom4j是一个灵活且高效的处理XML的Java库,它提供...

    使用dom4j 和本地dom 解析xml 文件

    在Java中,解析XML文件是常见的任务,通常有DOM(Document Object Model)和DOM4J两种方式。下面我们将详细探讨这两种解析方法。 DOM解析方式是将整个XML文件加载到内存中,形成一棵DOM树,每个节点代表XML文档的一...

    使用dom4j创建一个xml文件刘宝宝版

    **使用DOM4J创建XML文件刘宝宝版** 在Java编程中,DOM4J是一个非常流行的XML处理库,它提供了丰富的API来操作XML文档,包括创建、解析、修改和查询XML。下面我们将详细介绍如何使用DOM4J来创建一个XML文件。 首先...

    通过Dom4j创建和读取xml文件

    标题中的“通过Dom4j创建和读取xml文件”指的是使用Java库Dom4j来处理XML文档的操作。Dom4j是一个灵活且功能丰富的Java XML API,它提供了多种方式来解析、创建、修改XML文档。本知识点主要涵盖以下几个方面: 1. *...

    dom4j解析XML所需jar包

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,...通过`dom4j-1.6.1.jar`和`jaxen-1.1.1.jar`这两个jar包,开发者可以获得完整的DOM4J功能,实现XML的解析、构建、查询和转换等一系列操作。

Global site tag (gtag.js) - Google Analytics