转自:

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节点呢?相关推荐

  1. Java dom4j如何获取,添加,删除,查找,设置Element属性呢?

    转自: Java dom4j如何获取,添加,删除,查找,设置Element属性呢? 下文讲述dom4j操作Element属性的方法分享,如下所示: 取得某节点下的某属性 Element root=do ...

  2. android java file 清理垃圾获取文件大小 删除文件等操作

    这么久没有写博客了,今天给大家分享一些多file文件的操作.一般可以用到清理垃圾获取文件大小 删除文件等操作,可以直接用于工具类里面,直接做操作便可以 public final class FileU ...

  3. android 获取文件夹的字节数,android java file 清理垃圾获取文件大小 删除文件等操作...

    这么久没有写博客了,今天给大家分享一些多file文件的操作.一般可以用到清理垃圾获取文件大小 删除文件等操作,可以直接用于工具类里面,直接做操作便可以 public final class FileU ...

  4. JAVA 通过属性名称 获取属性值、设置属性值

    import java.lang.reflect.Field; import java.lang.reflect.Method;/*** 获取对象指定属性的值* @param o 对象* @param ...

  5. java闹钟程序声音_跪求高手帮忙写一个JAVA手机闹钟程序 实现添加铃声和设置多闹钟...

    展开全部 import java.util.*; import java.awt.*; import java.applet.*; import java.text.*; public class A ...

  6. electron获取cookie删除cookie设置cookie

    const {session} = require('electron') //获取cookie session.defaultSession.cookies.get({url:'要获取的地址'},( ...

  7. Cookie的设置获取和删除

    关于Cookie操作的实验,包括设置,获取和删除. 设置Cookie name[必选] value[必选] expiredays[必选] setCookie getCookie 操作Cookie GE ...

  8. java tree类子项的添加和删除_使用Java实现二叉树的添加,删除,获取以及遍历...

    二叉树节点的声明: static final class Entry>{ //保存的数据 private T item; //左子树 private Entry left; //右子树 priv ...

  9. XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML

    XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...

最新文章

  1. 竟有内鬼!北理工硕士生「复制粘贴」论文,旷视研究员最新声明
  2. 您不是专业测试人员的10个理由!
  3. Android开发资料学习(转载/链接)
  4. 看一下操作闪电网络最大的节点是什么感觉
  5. 两个inline-block消除间距和对齐(vertical-align)
  6. 在CentOS7阿里云服务器部署ThinkPHP5,并配置phpstrom实现同步开发(微信小程序及管理员后端)...
  7. java stream Collectors
  8. Kotlin入门(22)适配器的简单优化
  9. 编码规范系列(一):Eclipse Code Templates设置
  10. 两行命令实现 ubuntu 上自动更新 Vscode
  11. Windows Mobile 6.1发布了
  12. PyQt5最全27 绘图之drawLine绘制不同类型的直线
  13. C语言apr_socket,APR分析-高级IO篇
  14. 环信 android 发送消息,android 环信 集成发送消息崩溃
  15. PrimeNG安装使用
  16. 查询递归表SQL,分类表查询,递归表数据结构转平级查询优化SQL
  17. 【SCIR笔记】Transformer及其变种
  18. 洛谷刷题C语言:闰年判断、Apples、洛谷团队系统、肥胖问题、三位数排序
  19. 喜鹊儿服务器维护,喜鹊儿APP手机端记录学生课堂行为
  20. 做电影出品人的秘密,你知道多少!

热门文章

  1. 淘宝618活动节奏指南
  2. 反向传播BP思路梳理
  3. Qt 之自定义搜索框
  4. 【雕爷学编程】Arduino动手做(52)---MicroSD卡读写模块
  5. 上海理工大学光电信息与计算机工程学院在哪个校区,上海理工大学光电信息与计算机工程学院特聘教授学术报告...
  6. 怎样成为快速阅读的高手(上)
  7. 如何用大数据思维找女朋友?
  8. OO——第三单元JML规格编程总结
  9. fail2ban帮助postfix过滤恶意IP
  10. linux 进入recovery模式,小米进入Recovery模式的两种方式