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

2023-11-11

转自:

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

下文讲述dom4j操作Element属性的方法分享,如下所示:

取得某节点下的某属性

Element root=document.getRootElement();
Attribute attribute=root.attribute("size");// 属性名name

取得属性的文字

 
String text=attribute.getText();   
//  这个是取得根节点下name字节点的属性firstname的值: 
String text2=root.element("name").attributeValue("firstname");

遍历某节点的所有属性

Element root=document.getRootElement(); 
for(Iterator it=root.attributeIterator();it.hasNext();){ 
 Attribute attribute = (Attribute) it.next(); 
 String text=attribute.getText(); 
 System.out.println(text); 
}

设置某节点的属性和文字

newMemberElm.addAttribute("name", "属性值");    

设置属性的文字

Attribute attribute=root.attribute("name"); 
attribute.setText("属性值"); 

删除某属性

Attribute attribute=root.attribute("name");// 属性名name
root.remove(attribute);

public void modifyDoc() {
    try {
        Document doc = reader.read(new File("file/test.xml"));
        
        //修改属性内容
        List list = doc.selectNodes("//article/@level");
        Iterator<Attribute> iter = list.iterator();
        while (iter.hasNext()) {
            Attribute attr = iter.next();
            fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText());
            if ("Intermediate".equals(attr.getValue())) {
                //修改属性值
                attr.setValue("新属性值");
                fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText());
            }
        }
        
        list = doc.selectNodes("//article/@date");
        iter = list.iterator();
        while (iter.hasNext()) {
            Attribute attr = iter.next();
            fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText());
            if ("我是属性值".equals(attr.getValue())) {
                //修改属性值
                attr.setValue("新属性值");
                fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText());
            }
        }
        
        //写入到文件
        /*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();
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java dom4j如何获取,添加,删除,查找,设置Element属性呢? 的相关文章

  • 在java中轮询Http服务器(重复发送http get请求)

    当对其进行 REST 调用时 我的 Web 服务器会发送一些信息 我想不断轮询该服务器 间隔5秒后重复发送HTTP GET请求 以检查返回的信息是否有任何变化 做到这一点最有效的方法是什么 您能提供一些代码示例吗 请注意 我只想开发客户端代
  • Netbeans 8.1 Gnome 3 GTK+ UI 字体和选项卡高度

    我刚刚在运行 GNOME 3 桌面的 Ubuntu 16 04 上安装了 NetBeans 8 1 如果可能的话 我想继续使用 IDE 的 GTK 外观和感觉 但 UI 上的字体 尤其是选项卡中的字体 太小且重叠 我尝试添加 fontsiz
  • java中监视目录变化

    我正在使用 WatchService 来监视目录中的更改 特别是目录中新文件的创建 下面是我的代码 package watcher import java nio file import static java nio file Stand
  • 使用 Tabula 通过 Python 读取 pdf 时出现 Java 错误

    我已经安装了 tabula 库 用于使用 python 将 pdf 读取到 pandas 数据框中 但是当我运行代码时 import tabula df tabula read pdf sample1 pdf pages 1 我得到了例外
  • 如何在由子控件组成的 SWT 复合材料上跟踪鼠标?

    我创建了自己的控件 我想跟踪鼠标并添加一个MouseTrackListener 很遗憾MouseEnter and MouseLeave当鼠标移动到我的合成部分 即标签和按钮 上时 也会生成事件 Mouse enter mouse ente
  • 如何在 Java 中向时间戳添加/减去时区偏移量?

    我正在使用 JDK 8 并且玩过ZonedDateTime and Timestamp很多 但我仍然无法解决我面临的问题 假设我得到了格式化的Timestamp在格林威治标准时间 UTC 我的服务器位于某处 假设它设置为Asia Calcu
  • 如何在java中将日期格式从YYMMDD更改为YYYY-MM-DD? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我从机器可读代码中获取日期格式为 YYMMDD 如何将其更改为 YYYY MM DD 例如我收到 871223 YYMMDD 我想把它改成
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • 从jar中获取资源

    我有包含文件的 jar myJar res endingRule txt myJar wordcalculator merger Marge class 在 Marge java 中我有代码 private static final Str
  • Akka 与现有 java 项目集成的示例

    如果我已经有现有的javaWeb 应用程序使用spring and servlet容器 将 Akka 集成到其中的正确方法是什么 就像我将会有Actor1 and Actor2互相沟通的 开始使用这些演员的切入点是什么 例如 1 把它放在那
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • 轻松的反应

    我有一个与这里描述的类似的案例 动态更改RESTEasy服务返回类型 https stackoverflow com questions 3786781 dynamically change resteasy service return
  • Java Swing - 如何禁用 JPanel?

    我有一些JComponents on a JPanel我想在按下 开始 按钮时禁用所有这些组件 目前 我通过以下方式显式禁用所有组件 component1 setEnabled false 但是有什么办法可以一次性禁用所有组件吗 我尝试禁用
  • Spring @Cacheable 和 @Async 注解

    我需要缓存一些异步计算的结果 具体来说 为了克服这个问题 我尝试使用 Spring 4 3 缓存和异步计算功能 作为示例 我们采用以下代码 Service class AsyncService Async Cacheable users C
  • 在 Spring 上下文中查找方法级自定义注释

    我想知道的是 所有的类 方法Spring http en wikipedia org wiki Spring Framework注释为 Versioned的bean 我创建了自定义注释 Target ElementType METHOD E
  • 将 JScrollPane 添加到 JFrame

    我有一个关于向 Java 框架添加组件的问题 我有一个带有两个按钮的 JPanel 和一个添加了 JTable 的 JScrollPane 我想将这两个添加到 JFrame 中 我可以将 JPanel 添加到 JFrame 或将 JScro
  • 手动设置Android Studio的JDK路径

    如何为 Android Studio 使用自定义 JDK 路径 我不想弄乱 PATH 因为我没有管理员权限 是否有某个配置设置文件允许我进行设置 如果您查看项目设置 您可以从那里访问 jdk 在标准 Windows 键盘映射上 您可以在项目
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

    做时 new MiniDFSCluster Builder config build 我得到这个异常 java lang UnsatisfiedLinkError org apache hadoop io nativeio NativeIO

随机推荐

  • C++运算符重载

    一 运算符重载简介及意义 c 语言预定义的运算符只能操作基础数据类型 比如int double 对于用户自定义的类型 比如class中的私有成员变量类型无法进行运算操作 在平时进行运算时也需要类似的运算操作时 则需要进行运算符重载 实现自定
  • eclipse如何导入idea中的springboot项目以及如何删除项目

    eclipse中如何打开idea中的springboot项目 第一步 打开eclipse 第二步 打开项目 第三步 在eclipse中删除导入的idea项目 第一步 打开eclipse 首先打开eclipse 如下图 第二步 打开项目 选择
  • 2-1 编译型语言

    1 编译语言的层次和类型 机器语言 汇编语言 编译型语言 解释型语言 脚本语言 编译型语言一般需要经历编译和链接的过程 才能变成真正的可执行程序 编译链接的过程如下图所示
  • 求输入1~50的数字但是只有5次的机会

  • 一文读懂 PyTorch 显存管理机制

    点击上方 视学算法 选择加 星标 或 置顶 重磅干货 第一时间送达 作者丨米阿罗 知乎 已授权 来源丨https zhuanlan zhihu com p 486360176 编辑丨极市平台 首发于踢翻炼丹炉 https www zhihu
  • Oracle Sql Loader中文字符导入乱码的解决方案

    Oracle Sql Loader中文字符导入乱码的解决方案 服务器端字符集NLS LANG SIMPLIFIED CHINESE CHINA ZHS16GBK 控制文件ctl LOAD DATA CHARACTERSET ZHS16GBK
  • linux下安装jdk8

    jdk官网下载地址 官网下载页 https www oracle com technetwork java javase downloads jdk8 downloads 2133151 html 解压 解压到指定目录下 tar xzvf
  • RecycleView的scrollbar在xml中默认显示以及在代码中隐藏

  • MongoDB 启动及常用操作(随记)

    首先是启动服务 下面是一些常用的操作 mongoose 链接 var mongoose require mongoose var db mongoose createConnection mongodb 127 0 0 1 27017 No
  • MySQL MHA

    1 什么是 MHA MHA MasterHigh Availability 是一套优秀的MySQL高可用环境下故障切换和主从复制的软件 MHA 的出现就是解决MySQL 单点的问题 MySQL故障切换过程中 MHA能做到0 30秒内自动完成
  • 在美团,我从暑期实习到转正

    作者 酸菜鱼摆摆 整理 NewBeeNLP https zhuanlan zhihu com p 54732860 近期各个公司的秋招都陆续开始了 今天分享学妹 摆摆 的美团暑期实习转正经验 非常详细 今年参加秋招的同学可以好好看看噢 有问
  • python反编译chm文件并生成pdf文件

    1 coding utf 8 2 3 import os 4 import os path 5 import logging 6 import pdfkit 7 8 original chm r C Users hushaojun Docu
  • minio开源的对象存储服务器安装及使用

    1 minio的介绍 MinIO是一个开源的对象存储服务器 设计用于实现高性能 可扩展的云存储 它兼容Amazon S3云存储服务的API 因此可以与现有的S3兼容应用程序进行集成 MinIO可以部署在本地服务器 私有云环境或公共云上 如A
  • Burg法参数化功率谱估计(Python实现版)

    Burg法参数化功率谱估计是在Yule Walker方程法和Levinson Durbin快速递推法之上建立的 如果对于Yule Walker方程法和Levinson Durbin快速递推法不熟悉的话可以参考我的其他博客 Levinson
  • VS2015下封装Qt ui界面为dll的做法

    VS2015下封装Qt ui文件为dll的做法 最近被要求将以前项目的比较复杂的ui界面及其内部函数封装成dll 在网上查阅了一些资料 发现大部分要么是vs封装qt无界面的 要么是qt creator封装成dll的 有一篇较好的参考是htt
  • elasticsearch-head如何连接设置密码的elasticsearch

    先修改配置 在elasticsearch yml文件中加入以下配置 配置开启跨域 http cors enabled true 配置允许任何域名访问 http cors allow origin 设置密码后的访问配置 http cors a
  • defaulted函数和deleted函数

    Defaulted 函数 背景问题 C 的类有四类特殊成员函数 它们分别是 默认构造函数 析构函数 拷贝构造函数以及拷贝赋值运算符 如果程序员没有显式地为一个类定义某个特殊成员函数 而又需要用到该特殊成员函数时 则编译器会隐式的为这个类生成
  • 完整NFT Web开发

    完整NFT Web开发课程 自互联网早期以来 NFT 作为最具颠覆性的技术 区块链 的一部分 正在改变世界开展业务的方式 你可以构建和学习如何使用它们来塑造现代数字艺术 游戏 和网络应用程序 本课程教你如何从头开始深入构建 NFT 市场 以
  • 解决Nginx的location中root与alias区别——配置找不到路径的原因

    要理解root与alias的区别 例一 注意location中的配置 server listen 8080 server name localhost location root html index index html index ht
  • Java dom4j如何获取,添加,删除,查找,设置Element属性呢?

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