XML DOM4J 二、document对象

news/2025/2/25 5:01:41

DOM4J获取Document对象:

使用DOM4J来加载XML文档,需要先获取SAXReader对象,然后通过SAXReader对象的read()方法来加载XML文档:

java">        SAXReader reader = new SAXReader();
//		reader.setValidation(true);
		Document doc = reader.read("src/students.xml");

DOM4J保存Document对象

保存Document对象需要使用XMLWriter对象的write()方法来完成,在创建XMLWriter时还可以为其指定XML文档的格式(缩进字符串以及是否换行),这需要使用OutputFormat来指定。

java">        doc.addDocType("students", "", "students.dtd");
		OutputFormat format = new OutputFormat("\t", true);
		format.setEncoding("UTF-8");
		XMLWriter writer = new XMLWriter(new FileWriter(xmlName), format);
		writer.write(doc);
		writer.close();

DOM4J创建Document对象:

DocumentHelper类有很多的createXXX()方法,用来创建各种Node对象。

java">Document doc = DocumentHelper.createDocument();

Document操作:

遍历students.xml

涉及的相关方法:

  1. Element getRootElement():Document的方法,用来获取根元素;
  2. List elements():Element的方法,用来获取所有孩子元素;
  3. String attributeValue(String name):Element的方法,用来获取指定名字的属性值;
  4. Element element(String name):Element的方法,用来获取第一个指定名字的子元素;
  5. String elementText(String name):Element的方法,用来获取第一个指定名字的子元素的文本内容。

分析步骤:

  1. 获取Document对象;
  2. 获取root元素;
  3. 获取root所有子元素
  4. 遍历每个student元素;
  • 打印student元素number属性;
  • 打印student元素的name子元素内容;
  • 打印student元素的age子元素内容;
  •  打印student元素的sex子元素内容。

      


http://www.niftyadmin.cn/n/5864979.html

相关文章

C语言多人聊天室 ---s(服务端)

head.h #ifndef __HEAD_H #define __HEAD_H// 常用头文件 #include <stdio.h> #include <stdlib.h> #include <string.h>// 网络编程涉及的头文件 #include <sys/socket.h> #include <netinet/in.h> #include <netinet/ip.h>#include <…

Linux 高级篇 日志管理、定制自己的Linux系统、备份与恢复

一、日志管理 &#xff08;1&#xff09;基本介绍 日志文件是重要的系统信息文件&#xff0c;记录了如用户登录、系统启动、系统安全、邮件及各种服务等相关重要系统事件在安全方面&#xff0c;日志也至关重要&#xff0c;它能记录系统日常发生的各类事情&#xff0c;可用于检…

C#最新语言特性

C#最新语言特性 近几年持续引入多个新特性以提升开发效率和代码质量&#xff0c;截至今年2025年2月&#xff0c;C#的最新稳定版本是C#13&#xff0c;它是在2024年11月发布的&#xff0c;下方是一些C#13中的新特性以及近期版本特性。 C#13版本 params集合增强 params关键字得…

中间件专栏之redis篇——redis基本原理、概念及其相关命令介绍

一、redis是什么 redis是remote dictionary service的简称&#xff0c;中文翻译为远程字典服务&#xff1b; redis是一种数据库&#xff0c;若按照类型来归类&#xff0c;则其可以被归入三个类型数据库&#xff0c;分别为&#xff1a;内存数据库、KV数据库、数据结构数据库&a…

8.日常英语笔记

ribs 排骨 he broke a few ribs in the accident we had barbecued ribs for dinner 我们晚餐吃了排骨烤排骨 肋条&#xff0c;辐条 The ribs of the umbrella are made of metal pan 平底锅 I used a pan to fry the eggs 烤盘 Put the cake pan in the oven 把蛋糕烤盘放到烤…

C#初级教程(4)——流程控制:从基础到实践

1.为什么需要流程控制 有时候&#xff0c;需要根据程序运行时的具体环境&#xff0c;有选择地执行不同代码段&#xff1b;而有时候&#xff0c;则需要反复执行同一段代码。这时候&#xff0c;流程控制中的分支和循环就发挥了关键作用。分支能让代码根据条件判断结果来决定执行路…

欢乐力扣:同构字符串

文章目录 1、题目描述2、 代码 1、题目描述 同构字符串。给定两个字符串 s 和 t &#xff0c;判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t &#xff0c;那么这两个字符串是同构的。  每个出现的字符都应当映射到另一个字符&#xff0c;同时不改变字符…

【深度学习】Adam和AdamW优化器有什么区别,以及为什么Adam会被自适应学习率影响

Adam 和 AdamW 的主要区别在于 权重衰减&#xff08;Weight Decay&#xff09; 的实现方式&#xff0c;具体如下&#xff1a; 1. 权重衰减&#xff08;Weight Decay&#xff09;处理方式 Adam&#xff1a;采用 L2 正则化&#xff0c;通过在梯度更新时手动添加 weight_decay 项…