Java dom4j创建解析xml文档过程解析

2025-05-29 0 53

DOM4J解析

    特征:

      1、JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能。

      2、它使用接口和抽象基本类方法。

      3、具有性能优异、灵活性好、功能强大和极端易用的特点。

      4、是一个开放源码的文件

jar包:dom4j-1.6.1.jar

Java dom4j创建解析xml文档过程解析

创建 book.xml:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47
package com.example.xml.dom4j;

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;

/**

* dom4j创建xml文档示例

*

*/

public class Dom4JTest4 {

public static void main(String[] args) throws Exception {

// 第二种方式:创建文档并设置文档的根元素节点

Element root2 = DocumentHelper.createElement("bookstore");

Document document2 = DocumentHelper.createDocument(root2);

// 添加一级子节点:add之后就返回这个元素

Element book1 = root2.addElement("book");

book1.addAttribute("id", "1");

book1.addAttribute("name", "第一本书");

// 添加二级子节点

book1.addElement("name").setText("遇见未知的自己");

book1.addElement("author").setText("张德芬");

book1.addElement("year").setText("2014");

book1.addElement("price").setText("109");

// 添加一级子节点

Element book2 = root2.addElement("book");

book2.addAttribute("id", "2");

book2.addAttribute("name", "第二本书");

// 添加二级子节点

book2.addElement("name").setText("双城记");

book2.addElement("author").setText("狄更斯");

book2.addElement("year").setText("2007");

book2.addElement("price").setText("29");

// 设置缩进为4个空格,并且另起一行为true

OutputFormat format = new OutputFormat(" ", true);

// 另一种输出方式,记得要调用flush()方法,否则输出的文件中显示空白

XMLWriter xmlWriter3 = new XMLWriter(new FileWriter("book.xml"),format);

xmlWriter3.write(document2);

xmlWriter3.flush();

// close()方法也可以

}

}

运行结果:

Java dom4j创建解析xml文档过程解析

解析 book.xml:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52
package com.example.xml.dom4j;

import java.io.File;

import java.util.Iterator;

import java.util.List;

import org.dom4j.Attribute;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

/**

* dom4j解析xml文档示例

*

*/

public class Dom4JTest3 {

public static void main(String[] args) {

// 解析books.xml文件

// 创建SAXReader的对象reader

SAXReader reader = new SAXReader();

try {

// 通过reader对象的read方法加载books.xml文件,获取docuemnt对象。

Document document = reader.read(new File("book.xml"));

// 通过document对象获取根节点bookstore

Element bookStore = document.getRootElement();

System.out.println("根节点名:"+bookStore.getName());

// 通过element对象的elementIterator方法获取迭代器

Iterator it = bookStore.elementIterator();

// 遍历迭代器,获取根节点中的信息(书籍)

while (it.hasNext()) {

System.out.println("=====开始遍历子节点=====");

Element book = (Element) it.next();

System.out.println("子节点名:"+book.getName());

// 获取book的属性名以及 属性值

List<Attribute> bookAttrs = book.attributes();

for (Attribute attr : bookAttrs) {

System.out.println("属性名:" + attr.getName() + "--属性值:"

+ attr.getValue());

}

Iterator itt = book.elementIterator();

while (itt.hasNext()) {

Element bookChild = (Element) itt.next();

System.out.println("节点名:" + bookChild.getName() + "--节点值:" + bookChild.getStringValue());

}

System.out.println("=====结束遍历该节点=====");

}

} catch (DocumentException e) {

e.printStackTrace();

}

}

}

运行结果:

Java dom4j创建解析xml文档过程解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

原文链接:https://www.cnblogs.com/heizai002/p/7009143.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Java dom4j创建解析xml文档过程解析 https://www.kuaiidc.com/119365.html

相关文章

发表评论
暂无评论