dom4j 的简介| 学习笔记

简介: 快速学习 dom4j 的简介。

开发者学堂课程【XML入门 :dom4j 的简介】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/37/detail/861


dom4j 的简介

 

内容介绍

一、dom4j 概述

二、dom4j 使用

 

一、dom4j 概述

Dom4j 是一个组织,针对 xml 解析,提供解析器,dom4j 后来独立成一个公司,他的性能比 jdom 更加强大

 

二、dom4j 使用

Dom4j 不是 javase 的一部分,想要使用需要做到以下几步:

1. 第一步:

导入 dom4j 提供依赖接口

Dom4j 的 jar 包,包含所有的类和接口和相关操作

将 jar 包导入到项目中:

在项目中创建文件夹 lib,把 dom4j 的 jar 包直接粘贴入 lib

注意:现在 jar 包并未成功导入,需要做一步操作:

选中 jar 包->点击 Build Path->点击 Add to Build Path

执行完结果:

image.png

详细导入过程:

(1) 创建一个文件夹 lib

(2) 复制 jar 包到 lib 下面

(3) 右键点击 jar 包,build path -- add to buildpath

(4) 看到 jar 包,变成奶瓶样子,表示导入成功

2. 第二步:

选择 docs 文件夹,点击 index.html 文件

3.快速入门:

(1)解析 XML

Import  java.net.URL;

import  org.dom4j. Document;

Import  org.dom4j.DocumentException;

import  org.dom4j.io.SAXReader;

public class Foo {

public Document parse(URL url)

throws DocumentException {

SAXReader reader = new SAXReader () ;

Document document = reader.read (url);

//返回 document,更加方便

return document;

}

}

(2)迭代方式

public void bar(Document document)

throws DocumentException {

Element root = document.getRootElement () ;

//iterate through child elements of root

for ( Iterator i = root.elementiterator() ; i.hasNext(); ) {

Element element = (Element) i.next () ;

//do something

}

// iterate through child elements of root with element name "foo"

for ( iterator i = root.elementiterator( "foo”); i.hasNext(); ) {

Element foo =(Element) i.next();

//do something

}

//iterate through attributes of root

for ( iterator i = root.attributeIterator(); i.hasNext(); ) {

Attribute attribute =(Attribute) i.next ();

// do something

}

}

(3)Xpath

public voidi bar (Document docunent) {

List list = document.selectNodes( "/ /foo/bas” ) ;

Node node = document.selectsingleNode

("//foo/bar/author");

string name = node .valueof( "@name" );

}

For example if you wish to find all the hypertext links in an XHTML document the following code would do the trick.

public void findLinks(Document document)

throws DocumentException {

List list = document.selectNodes ( " // a/Rhref" ) ;

for (Iterator iter = list.iterator() ; iter.hasNext (); ){

Attribute attribute =(Attribute) iter.next();

String url = attribute.getvalue() ;

}

}

(4)查看文档提供的方法:

点击 dom4j API-> 搜索 SAXReader 方法->选择构造方法

SAXReader ()

SAXReader (boolean validating)

SAXReader (DocumentFactorv factory)

SAXReader(DocumentFactory factory,boolean validating)

SAXReader (string xmnlReaderClassName)

SAXReader(Strinq xmlReaderClassName,boolean validating)

SAXReader (XMLReader xmlReader)

SAXReader(XMLReader xmlReader,boolean validating)

特点:创建一个 DOM4J 的事务,集成 SAX

点击 dom4j API->搜索 read 方法->选择构造方法

Doouent

①read(string systemId):

Reads a Document from the given URL or filename using SAX.

//document 的父接口是 Node,如果在 document 里面找不到想要的方法,到Node 里面去找

②document 方法

getRootElement() :获取根节点,返回的是 Element

点击 Element,Element 也是一个接口,node 也是 Element 的父接口

③Element 方法:

Element 和 Node 里面方法

getParent(): 获取父节点

addElement: 添加标签

相关文章
|
5月前
|
JavaScript 前端开发 API
jQuery对象与DOM对象简介及相互转换
jQuery对象与DOM对象简介及相互转换
|
6月前
|
XML JavaScript 前端开发
JavaScript简介&引入方式(JavaScript基础语法、JavaScript对象、BOM、DOM、事件监听)
JavaScript简介&引入方式(JavaScript基础语法、JavaScript对象、BOM、DOM、事件监听)
43 2
|
6月前
|
XML JavaScript 前端开发
web学习笔记(二十二)DOM开始
web学习笔记(二十二)DOM开始
37 0
|
6月前
|
XML JavaScript 数据格式
XML DOM 简介
XML DOM是W3C标准,提供访问和处理XML及HTML文档的统一接口。它分为核心DOM、XML DOM和HTML DOM三个部分。DOM定义了文档元素的对象、属性及访问方法。HTML DOM专注HTML,而XML DOM专注于XML,两者均为平台和语言中立的标准化编程接口,用于创建、修改和操作文档内容。
|
6月前
|
移动开发 JavaScript 前端开发
webgl学习笔记3_javascript的HTML DOM
webgl学习笔记3_javascript的HTML DOM
64 0
webgl学习笔记3_javascript的HTML DOM
|
JavaScript 前端开发
前端学习笔记202305学习笔记第二十九天-Socket.io文本编辑实时共享之原生dom导入和移除的技巧2
前端学习笔记202305学习笔记第二十九天-Socket.io文本编辑实时共享之原生dom导入和移除的技巧2
37 0
|
JavaScript 前端开发
JS 学习笔记四(DOM) 悬停事件 获取节点
JS 学习笔记四(DOM) 悬停事件 获取节点
60 0
|
JavaScript
JS 学习笔记四(DOM)(节点)
JS 学习笔记四(DOM)(节点)
56 0
|
JavaScript 前端开发 调度
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber和虚拟dom关系
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber和虚拟dom关系
82 0
|
JavaScript 前端开发
前端学习笔记202305学习笔记第二十九天-Socket.io文本编辑实时共享之原生dom导入和移除的技巧1
前端学习笔记202305学习笔记第二十九天-Socket.io文本编辑实时共享之原生dom导入和移除的技巧1
59 0