java dom4j 添加节点_Java dom4j获取,添加,删除,查找,设置Element节点方法「建议收藏」

java dom4j 添加节点_Java dom4j获取,添加,删除,查找,设置Element节点方法「建议收藏」Javadom4j获取,添加,删除,查找,设置Element节点方法1.获取文档的根节点.ElementrootElm=document.getRootElement();2.取得某节点的单个子节点.ElementmemberElm=root.element(“member”);//”member”是节点名3.取得节点的文字Stringtext=memberElm.getText()…

大家好,又见面了,我是你们的朋友全栈君。

Java dom4j获取,添加,删除,查找,设置Element节点方法

1.获取文档的根节点.

Element rootElm = document.getRootElement();

2.取得某节点的单个子节点.

Element memberElm=root.element(“member”);// “member”是节点名

3.取得节点的文字

String text=memberElm.getText();//也可以用:

String text=root.elementText(“name”);//这个是取得根节点下的name字节点的文字.

4.取得某节点下名为”member”的所有字节点并进行遍历.

List nodes = rootElm.elements(“member”);

for (Iterator it = nodes.iterator(); it.hasNext();) {

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

// do something

}

5.对某节点下的所有子节点进行遍历.

for(Iterator it=root.elementIterator();it.hasNext();){

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

// do something

}

6.在某节点下添加子节点.

Element ageElm = newMemberElm.addElement(“age”);

7.设置节点文字.

ageElm.setText(“29”);

8.删除某节点.

parentElm.remove(childElm);// childElm是待删除的节点,parentElm是其父节点

9.添加一个CDATA节点.

Element contentElm = infoElm.addElement(“content”);

contentElm.addCDATA(diary.getContent());

例子

public void modifyDoc() {

try {

Document doc = reader.read(new File(“file/catalog.xml”));

//修改节点内容

List list = doc.selectNodes(“//article”);

Iterator it = list.iterator();

while (it.hasNext()) {

Element el = it.next();

fail(el.getName() + “#” + el.getText() + “#” + el.getStringValue());

//修改title元素

Iterator 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(“//article/author”);

it = list.iterator();

while (it.hasNext()) {

Element el = it.next();

fail(el.getName() + “#” + el.getText() + “#” + el.getStringValue());

List 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/catalog-modified.xml”)));

output.write(doc);

output.close();*/

} catch (DocumentException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159413.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LSD_SLAM「建议收藏」

    LSD_SLAM「建议收藏」LSDSLAM1.Overview三大模块2.Posetracking2.1直接法2.2LSD的直接法3.Depthmapping3.1Keyframeselection3.2DepthMapCreation(DepthMapPropagation)3.3DepthMapRefinement3.3.1参考图像帧选取3.3.2立体匹配策略3.3.3不确定性估…

    2022年6月6日
    24
  • Vue生成二维码_vue实现扫描二维码

    Vue生成二维码_vue实现扫描二维码效果代码npminstallvue-qr–save<template><divclass=”sg-qrcode”><vue-qr:text=”qrcodeText”:correctLevel=”3″:size=”250″:margin=”10″colorDark=”#2ba245″

    2022年10月3日
    3
  • golang 实现HTTP代理和反向代理

    golang 实现HTTP代理和反向代理代理的核心功能可以用一句话概括:接受客户端的请求,转发到后端服务器,获得应答之后返回给客户端。下图是《HTTP权威指南》一书中给出的图例,可以很清晰地说明这一流程:代理的功能有很多,事实上整个互联网到处都充斥着代理服务器。如果所有的HTTP访问都是客户端和服务器端直接进行的话,我们的网络不仅会变得缓慢,而且性能会大打折扣。代理服务器根据不同的配置和使用,可能会有不同的功能,这些…

    2022年7月16日
    16
  • atof函数_log函数怎么比较大小

    atof函数_log函数怎么比较大小atof函数原型doubleatof(constchar*str);作用:将字符串转换为双精度浮点数(double).头文件:#include&lt;stdlib.h&gt;返回值: 返回转换后的浮点数,如果字符串str不能被转换为double,那么返回0.0函数说明:atof()会扫描茶树str字符串,跳过前面的空格字符,直到遇到数字或者正…

    2025年8月20日
    5
  • mysql远程连接数据库 权限_sql远程连接数据库失败

    mysql远程连接数据库 权限_sql远程连接数据库失败我们在刚学习MySQL数据库时一般都是连接localhost然后登录root用户创建数据库进行操作,那么问题来了,如何通过其他主机来访问自己的数据库呢?一、我们要保证两台主机在同一个局域网,也就是说你使用ping命令能够ping通另一台主机,这样才可以实现远程访问你的数据库 图中192.168.116.96为对方主机的ip地址,我的IP地址为192.168.116.92,因为我们在同一…

    2022年10月13日
    4
  • HTTP代理_gap加盟需要投资多少

    HTTP代理_gap加盟需要投资多少2019独角兽企业重金招聘Python工程师标准>>>…

    2025年7月1日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号