一、使用JDOM生成XML文档存放到硬盘上

  • 生成Document对象,直接使用new的方式
Document document = new Document();
  • 生成文档的根节点
Element root = new Element("根节点名字“);
  • 将根节点添加到第一步生成的document对象中
document.addContent(root);
  • 此后,如果想生成XML层次结构,只需要生成子节点,然后将子节点添加到对应的父节点中,比如说:
Element element = new Element("元素名");
root.addContent(element);
  • 元素中只包含文本,不包含子元素
Element element = new Element("元素名"):
element.setText("包含的文本信息");
  • 元素的属性生成,先生成属性对象,将相应的属性对象添加到元素上,比如说:
Arrtibute attribute = new Attribute("属性名", "属性值");
element.setAttribute(attribute);
  • XML注释的生成
Comment comment = new Comment("注释内容");
element.addContent(comment);
  • 设置XML的输出格式
    当我们不想去关系XML输出格式的时候,这个环节我们可不必关心;如果说,想要获得我们看起来格式比较优美的XML文档时,就需要自己设置这部分:
//原始的XML格式:
Format format1 = Format.getRawFormat();
//Pretty格式的XML文档:
Format format2 = Format.getPrettyFormat();
  • 设置缩进
format.setIndent("    ");
  • 设置编码格式
format.setEncoding("编码格式");
  • 输出生成的XML文档
XMLOutputter out = new XMLOutputter(XML文档的输出格式(Format类型的对象));
out.output(document, new FileOutputStream("指定的物理路径"));

二、使用JDOM解析对应的XML文档

  • 获得文档对应的Document对象
SAXBulider builder = new SAXBuilder();
Document document = builder.build(new File("对应XML所在的物理路径"));
  • 获得其根元素
Element root = document.getRootElement();
  • 获得元素的标签名
String tagName = root.getName();
  • 获得子元素
//如果没有重名子元素
Element element = element.getChild("子元素名");//如果有重名子元素
List list = element.getChildren("子元素名");
for(int i = 0; i < list.size(); i++)
{Element e = (Element)list.get(i);
}
  • 如果元素没有子元素、只有文本内容。获得其文本内容
String text = element.getText();
  • 获得元素的所有属性,遍历
List list = element.getAttributes();
for(int i = 0; i < list.size(); i++)
{Attribute attr = (Attribute)list.get(i);String attrName = attr.getName();String attrValue = attr.getValue();
}
  • 获得单个属性,得到他的属性值
Attribute attr = element.getAttribute("属性名");
String str = attr.getValue();
  • 删除某一元素中的对应子元素,并将新生成的XML保存到硬盘上,原来XML不会发生改变;
element.removeChild("将要删除的子元素名");
XMLOutputter out = new XMLOutputter(Format.getPrettyFormat.setIndent("    "));
out.output(doc, new FileOutputStream("目标地址的物理路径"));

如果有争议的地方欢迎留言批评指正、共同学习进步。

使用JDOM生成/解析XML文档相关推荐

  1. java jdom解析xml文件_Java 使用JDOM解析XML文档

    使用JDOM解析XML文档 JDOM是一种使用 XML(标准通用标记语言下的一个子集) 的独特 Java 工具包.下面我们来看一下怎么使用 JDOM来解析XML文档. 首先下载JDOM的jar包,并导 ...

  2. 大杂烩 -- 四种生成和解析XML文档的方法详解

    基础大杂烩 -- 目录 众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J DOM:在现在的Java JDK里都自带了,在xml-apis.jar包 ...

  3. 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

    众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml- ...

  4. XML 解析XML文档 XML约束

    XML 什么是XML Extensible Markup Language(可扩展的标记语言) 他是一个语言,有自己的语法,和Java以及其他的编程无关 "标记" 在文件中包含类似 ...

  5. Dom4j 解析Xml文档及XPath查询 学习笔记

    本文查阅方法:     1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题     2.快捷"查找" -- 在当前浏览器页面,按键 "Ctrl+F" 按键 ...

  6. java jdom 更新xml_Java中使用JDOM来修改XML文档(续前)

    22.3.2 使用JDOM来处理XML文档 本节介绍使用JDOM来处理之前建立的XML文档"customer.xml",包括添加.删除以及修改XML文档中的元素.步骤如下. (1) ...

  7. Dom4j 解析Xml文档及 XPath查询 学习笔记

    2019独角兽企业重金招聘Python工程师标准>>> 本文查阅方法:     1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题     2.快捷"查找" ...

  8. DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件(详细)...

    Dom4j是一个简单.灵活的开放源代码的库.Dom4j是由早期开发JDOM开发的.与JDOM不同的是,dom4j使用接口和抽象的人分离出来而后独立基类,虽然Dom4j的API相对要复杂一些,但它提供了 ...

  9. xml教程之java解析xml文档

    1.java解析xml文件介绍 XML解析方式分为两种:DOM方式和SAX方式 DOM:Document Object Model,文档对象模型.这种方式是W3C推荐的处理XML的一种方式. SAX: ...

  10. XML——解析XML文档

    [0]README 0.1)本文描述 转自 core java volume 2, 旨在理解 XML--解析XML文档 的基础知识: 0.2) for source code, please visi ...

最新文章

  1. myeclipse 清理项目缓存的几大步骤
  2. html请求接口_通用网关接口-FastCGI介绍
  3. php默认日志位置,Laravel 修改默认日志文件名称和位置的例子
  4. 大数据集群搭建之Linux的安装(一)
  5. Failed connect to github.com:443; No error
  6. Python分析「我们为什么这么穷」
  7. C++primer笔记之顺序容器
  8. C# 读取XML 写入XML 读写XML
  9. Unity 接入科大讯飞语音sdk
  10. 计算机未来发展展望3000字,关于我的计算机职业生涯规划3000字
  11. Java项目集成永中文档在线预览
  12. 程序员的数学基础课:编程中的数学思维
  13. p2p与反p2p的博弈,一劳永逸真的不容易么
  14. 应用在夜灯领域的环境光测距感器芯片
  15. 2.3-31 伪元素
  16. [分享] 【强烈推荐】要速度更要方便!75款实用Chrome插件推荐
  17. Python基础知识:def创建函数
  18. 抖音SEO优化源码,企业号搜索排名系统,技术理论分析搭建。
  19. 以前flyback的osdiy
  20. java+MySQL 基于ssm的网上定点餐外卖系统

热门文章

  1. 基于FBMC的调制解调系统
  2. 零基础学习用labview制作温度采集系统
  3. Matlab分析dac模拟信号,[滤波器在音频DAC测试中的应用] 音频滤波器
  4. C#使用Windows全局钩子(Winform) SetWindowsHookEx
  5. 乐鱼播放器(乐鱼影音盒) v1.13 官方版
  6. 未来计算机源消能耗,磁微处理器挑战计算机最低能耗极限
  7. API卡_什么是图形API,API又是用来做什么的,其实它是一名出色的翻译官
  8. webqq协议分析之~~~~登陆
  9. 计算机毕业设计-SSM企业OA管理系统-JavaWeb企业OA管理系统
  10. 联想微型计算机如果进入BIos,联想笔记本各机型如何进入bios