jdom解析xml文件

JDOM provides very neat way to manipulate XML files, using JDOM is very easy and the code looks clean and readable. Earlier we saw how to read XML using JDOM and how to write XML using JDOM. Here we will learn how easily we can edit XML files using JDOM.

JDOM提供了一种非常整洁的方式来处理XML文件,使用JDOM非常容易,并且代码看起来清晰易读。 之前,我们了解了如何使用JDOM读取XML和如何使用JDOM编写XML 。 在这里,我们将学习如何使用JDOM编辑XML文件。

JDOM编辑XML文件 (JDOM Edit XML File)

For this tutorial, we have following employees.xml file.

在本教程中,我们有以下employees.xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<Employees xmlns="https://www.journaldev.com/employees"><Employee id="1"><age>25</age><name>Pankaj</name><gender>Male</gender><role>Java Developer</role></Employee><Employee id="2"><age>34</age><name>Mona</name><gender>Female</gender><role>Manager</role></Employee><Employee id="3"><age>45</age><name>Dave</name><gender>Male</gender><role>Support</role></Employee>
</Employees>

We want to change following for every Employee element in the XML.

我们想要更改XML中每个Employee元素的跟随。

  1. Update all name element to block letters.更新所有名称元素以禁止使用字母。
  2. Append M for Male and F for Female in ID attribute.在ID属性中,将M代表男性,将F代表女性。
  3. Remove gender element删除性别元素
  4. Add new element salary with default value 1000 for each employee为每个员工添加默认值1000的新元素工资

JDOM示例–编辑XML文件 (JDOM Example – Edit XML File)

Here is the java program for above changes.

这是上述更改的Java程序。

package com.journaldev.xml.jdom;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.Namespace;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;public class JDOMXMLEditor {public static void main(String[] args) throws JDOMException, IOException {final Namespace ns = Namespace.getNamespace("https://www.journaldev.com/employees");//Get the JDOM documentorg.jdom2.Document doc = useSAXParser("employees.xml");//Get list of Employee elementElement rootElement = doc.getRootElement();List<Element> listEmpElement = rootElement.getChildren("Employee", ns);//loop through to edit every Employee elementfor (Element empElement : listEmpElement) {//change the name to BLOCK lettersString name = empElement.getChildText("name", ns);if (name != null)empElement.getChild("name", ns).setText(name.toUpperCase());//edit the ID attribute based on GenderString gender = empElement.getChildText("gender", ns);if (gender != null && gender.equalsIgnoreCase("female")) {String id = empElement.getAttributeValue("id");empElement.getAttribute("id").setValue(id + "F");} else {String id = empElement.getAttributeValue("id");empElement.getAttribute("id").setValue(id + "M");}//remove gender element as it's not needed anymoreempElement.removeChild("gender", ns);//add salary element with default value to every employeeempElement.addContent(new Element("salary", ns).setText("1000"));}//document is processed and edited successfully, lets save it in new fileXMLOutputter xmlOutputter = new XMLOutputter(Format.getPrettyFormat());//output xml to console for debugging//xmlOutputter.output(doc, System.out);xmlOutputter.output(doc, new FileOutputStream("employees_new.xml"));}//Get JDOM document from SAX Parserprivate static org.jdom2.Document useSAXParser(String fileName) throws JDOMException,IOException {SAXBuilder saxBuilder = new SAXBuilder();return saxBuilder.build(new File(fileName));}}

Notice the use of namespace for retrieving all the elements. Above program produces following output xml.

注意,使用命名空间来检索所有元素。 上面的程序产生以下输出xml。

employees_new.xml

employees_new.xml

<?xml version="1.0" encoding="UTF-8"?>
<Employees xmlns="https://www.journaldev.com/employees"><Employee id="1M"><age>25</age><name>PANKAJ</name><role>Java Developer</role><salary>1000</salary></Employee><Employee id="2F"><age>34</age><name>MONA</name><role>Manager</role><salary>1000</salary></Employee><Employee id="3M"><age>45</age><name>DAVE</name><role>Support</role><salary>1000</salary></Employee>
</Employees>

That’s all for JDOM example to edit XML file in java.

这就是JDOM示例以Java编辑XML文件的全部内容。

翻译自: https://www.journaldev.com/1218/jdom-edit-xml-file-example

jdom解析xml文件

jdom解析xml文件_JDOM编辑XML文件示例相关推荐

  1. c#语言 修改xml文件路径,C#对XML操作:编辑XML文件内容-.NET教程,C#语言

    public void page_load(object src,eventargs e) { /* * 版 权 : copyright by sem it department * 版 本 : ve ...

  2. html5 xml在线编辑,xml在线(在线编辑xml文件)

    1.xenu link sleuth可同时生成html格式地图(适用于小型站点)和xml格式地图.2.xml sitemap在线生成工具,网站地址很多时,会比较浪费时间,想生成所有,则需要收. ]&g ...

  3. dll文件怎么编辑(dll文件怎么使用)

    dll文件怎么编辑 添加到项目里 做好了再编译DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源.Windows提供的DLL文件中包含了允许基于Window ...

  4. dll文件怎么编辑_PDF文件怎么编辑?通过这几款软件,让你轻松编辑PDF

    今天小编为大家带来的亲测盘点 是--PDF编辑器. 话不多说. 让我们来看看这个五款PDF编辑器吧!轻松解决问题! 第一款 Movavi PDF Editor Movavi PDF Editor 官方 ...

  5. 【第三方库】PHP实现创建PDF文件和编辑PDF文件

    目录 引入Setasign/fpdf.Setasign/fpdi 解决写入中文时乱码问题 1.下载并放置中文语言包(他人封装):https://github.com/DCgithub21/cd_FPD ...

  6. xml文件编辑器 linux,XML 编辑器

    XML 编辑器 如果您希望极认真地学习和使用 XML,那么您一定会从一款专业的 XML 编辑器的使用上受益. XML 是基于文本的 XML 是基于文本的标记语言. 关于 XML 的一件很重要的事情是, ...

  7. html5 xml在线编辑,XML 编辑器

    XML 编辑器 如果您希望极认真地学习和使用 XML,那么您一定会从一款专业的 XML 编辑器的使用上受益. XML 是基于文本的 XML 是基于文本的标记语言. 关于 XML 的一件很重要的事情是, ...

  8. PDF文件如何编辑?这两种方法是我一直在用的

    我最近总是收到小伙伴们的私信,表示不知道PDF的文件怎么编辑.作为一名工作多年的打工人,我已经积累几个不错的方法,帮助大家快速编辑PDF文件,不知道PDF的文件怎么编辑的小伙伴就接着往下看看吧,相信可 ...

  9. 服务器拒收的文件cpc,放弃实用新型cpc-实用新型专利服务器拒收的文件如何编辑?...

    同时申请发明专利与实用新型的好处有哪些? 一个专利创意,只能授予一项专利权,但是一些单位和个人有时会同时申报实用新型专利和发明专利,先获得实用新型专利授权,等发明专利授权时再放弃实用新型.这样做的好处 ...

最新文章

  1. 【C#技术】一篇文章搞掂:Infragistics组件库
  2. Activity之间跳转的效果_overridePendingTransition
  3. iOS运行时-使用Runtime向Category中添加属性以及运行时介绍
  4. 强化学习组队学习task03—— 策略梯度及 PPO 算法
  5. 博一结束后的一些反思 -- 该如何平衡科研与生活
  6. pandas—pandas.DataFrame.iterrows的使用
  7. SQL语句:查询多表更新数据
  8. 关于matlab影像处理imhist直方图均衡化问题
  9. qt 部署 错误_Qt 5.9 安装过程报错现象及解决方案
  10. 数据挖掘-高斯混合模型(多元)算法的R实现
  11. Dubbo服务调用流程源码分析(服务调提供方)
  12. 基于微信小程序的毕业设计题目(26)php视频电影播放小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)
  13. 腾讯视频播放内容下载流程
  14. 基于matlab 非局部均值(NLM)滤波图像去噪
  15. Android studio连接(逍遥)模拟器
  16. linux不启动修改rcs文件,Linux启动脚本rcS
  17. 项目——员工管理系统
  18. 虚拟机之间文件的传输
  19. 前端小技巧|关掉某视频解析网站上的广告
  20. java/php/net/python个人博客网站的研究与实现设计

热门文章

  1. HDP Hive StorageHandler 下推优化的坑
  2. SDUT 2142 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
  3. [DB]MariaDB 与 MySql 数据库
  4. 关于html5之canvas的那些事
  5. 非常简单,让log4j输出mybatis的sql语句和执行结果
  6. 【灵感】wifi通过wifi发送优惠信息
  7. java 通过反射获取数组
  8. jdbcdbcpc3p0
  9. android 自动更新
  10. 使用maven在netbeans下构建wicket项目