Java如何使用dom4j获取,添加,删除,查找,设置Element节点呢?
转自:
Java如何使用dom4j获取,添加,删除,查找,设置Element节点呢?
下文笔者讲述DOM4J操作Element节点的示例分享,如下所示
获取文档的根节点
Element rootElm = document.getRootElement();
取得某节点的单个子节点
Element memberElm=root.element("user");// "user"是节点名
取得节点的文字
String text=memberElm.getText();//也可以用: String text=root.elementText("name");//这个是取得根节点下的name字节点的文字.
取得某节点下名为"user"的所有字节点并进行遍历
List nodes = rootElm.elements("user"); for (Iterator it = nodes.iterator(); it.hasNext();) { Element elm = (Element) it.next(); //运行业务代码 }
对某节点下的所有子节点进行遍历
for(Iterator it=root.elementIterator();it.hasNext();){ Element element = (Element) it.next(); //业务代码 }
在某节点下添加子节点
Element ageElm = newMemberElm.addElement("age");
设置节点文字
ageElm.setText("88");
删除某节点
parentElm.remove(childElm);// childElm是待删除的节点,parentElm是其父节点
添加一个CDATA节点
Element contentElm = infoElm.addElement("content"); contentElm.addCDATA(diary.getContent());
例
public void modifyDoc() {try {Document doc = reader.read(new File("file/test.xml"));//修改节点内容List list = doc.selectNodes("//user");Iterator<Element> it = list.iterator();while (it.hasNext()) {Element el = it.next();fail(el.getName() + "#" + el.getText() + "#" + el.getStringValue());//修改title元素Iterator<Element> elIter = el.elementIterator("title");while(elIter.hasNext()) {Element titleEl = elIter.next();fail(titleEl.getName() + "#" + titleEl.getText() + "#" + titleEl.getStringValue());if ("Java configuration with XML Schema".equals(titleEl.getTextTrim())) {//修改元素文本值titleEl.setText("Modify the Java configuration with XML Schema");fail(titleEl.getName() + "#" + titleEl.getText() + "#" + titleEl.getStringValue());}}}//修改节点子元素内容list = doc.selectNodes("//user/author");it = list.iterator();while (it.hasNext()) {Element el = it.next();fail(el.getName() + "#" + el.getText() + "#" + el.getStringValue());List<Element> childs = el.elements();for (Element e : childs) {fail(e.getName() + "#" + e.getText() + "#" + e.getStringValue());if ("Marcello".equals(e.getTextTrim())) {e.setText("Ayesha");} else if ("Vitaletti".equals(e.getTextTrim())) {e.setText("Malik");} fail(e.getName() + "#" + e.getText() + "#" + e.getStringValue());}}//写入到文件/*XMLWriter output = new XMLWriter(new FileWriter(new File("file/test.xml")));output.write(doc);output.close();*/} catch (DocumentException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();} }
Java如何使用dom4j获取,添加,删除,查找,设置Element节点呢?相关推荐
- Java dom4j如何获取,添加,删除,查找,设置Element属性呢?
转自: Java dom4j如何获取,添加,删除,查找,设置Element属性呢? 下文讲述dom4j操作Element属性的方法分享,如下所示: 取得某节点下的某属性 Element root=do ...
- android java file 清理垃圾获取文件大小 删除文件等操作
这么久没有写博客了,今天给大家分享一些多file文件的操作.一般可以用到清理垃圾获取文件大小 删除文件等操作,可以直接用于工具类里面,直接做操作便可以 public final class FileU ...
- android 获取文件夹的字节数,android java file 清理垃圾获取文件大小 删除文件等操作...
这么久没有写博客了,今天给大家分享一些多file文件的操作.一般可以用到清理垃圾获取文件大小 删除文件等操作,可以直接用于工具类里面,直接做操作便可以 public final class FileU ...
- JAVA 通过属性名称 获取属性值、设置属性值
import java.lang.reflect.Field; import java.lang.reflect.Method;/*** 获取对象指定属性的值* @param o 对象* @param ...
- java闹钟程序声音_跪求高手帮忙写一个JAVA手机闹钟程序 实现添加铃声和设置多闹钟...
展开全部 import java.util.*; import java.awt.*; import java.applet.*; import java.text.*; public class A ...
- electron获取cookie删除cookie设置cookie
const {session} = require('electron') //获取cookie session.defaultSession.cookies.get({url:'要获取的地址'},( ...
- Cookie的设置获取和删除
关于Cookie操作的实验,包括设置,获取和删除. 设置Cookie name[必选] value[必选] expiredays[必选] setCookie getCookie 操作Cookie GE ...
- java tree类子项的添加和删除_使用Java实现二叉树的添加,删除,获取以及遍历...
二叉树节点的声明: static final class Entry>{ //保存的数据 private T item; //左子树 private Entry left; //右子树 priv ...
- XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML
XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...
最新文章
- 竟有内鬼!北理工硕士生「复制粘贴」论文,旷视研究员最新声明
- 您不是专业测试人员的10个理由!
- Android开发资料学习(转载/链接)
- 看一下操作闪电网络最大的节点是什么感觉
- 两个inline-block消除间距和对齐(vertical-align)
- 在CentOS7阿里云服务器部署ThinkPHP5,并配置phpstrom实现同步开发(微信小程序及管理员后端)...
- java stream Collectors
- Kotlin入门(22)适配器的简单优化
- 编码规范系列(一):Eclipse Code Templates设置
- 两行命令实现 ubuntu 上自动更新 Vscode
- Windows Mobile 6.1发布了
- PyQt5最全27 绘图之drawLine绘制不同类型的直线
- C语言apr_socket,APR分析-高级IO篇
- 环信 android 发送消息,android 环信 集成发送消息崩溃
- PrimeNG安装使用
- 查询递归表SQL,分类表查询,递归表数据结构转平级查询优化SQL
- 【SCIR笔记】Transformer及其变种
- 洛谷刷题C语言:闰年判断、Apples、洛谷团队系统、肥胖问题、三位数排序
- 喜鹊儿服务器维护,喜鹊儿APP手机端记录学生课堂行为
- 做电影出品人的秘密,你知道多少!