JDOM介绍

  JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。使用jdom需要引入jdom.jar包。

XML生成及解析

  代码如下:

  

  1. package com.test.jdom;
  2.  
  3. import java.io.FileNotFoundException;
  4. import java.io.FileOutputStream;
  5. import java.io.IOException;
  6. import java.util.List;
  7.  
  8. import org.jdom2.Document;
  9. import org.jdom2.Element;
  10. import org.jdom2.JDOMException;
  11. import org.jdom2.input.SAXBuilder;
  12. import org.jdom2.output.Format;
  13. import org.jdom2.output.XMLOutputter;
  14.  
  15. public class TestJdom {
  16.  
  17. public static void main(String[] args) {
  18.  
  19. createXml();
  20. parserXml();
  21. }
  22.  
  23. public static void createXml() {
  24. //文档
  25. Document document = new Document();
  26. //根元素
  27. Element root = new Element("conpany");
  28. //设置属性
  29. root.setAttribute("name","hd");
  30. //添加根目录
  31. document.setRootElement(root);
  32.  
  33. Element department = new Element("department");
  34. department.setAttribute("name","department1");
  35. //添加到根目录
  36. root.addContent(department);
  37.  
  38. Element employee = new Element("employee");
  39. employee.setAttribute("name","employee1");
  40. employee.setAttribute("id","1");
  41. //设置文本
  42. employee.setText("123");
  43. department.addContent(employee);
  44. XMLOutputter xmlOut = new XMLOutputter();
  45. xmlOut.setFormat(Format.getPrettyFormat());
  46. try {
  47. xmlOut.output(document, new FileOutputStream("src/test-jdom-create.xml"));
  48. } catch (FileNotFoundException e) {
  49. e.printStackTrace();
  50. } catch (IOException e) {
  51. e.printStackTrace();
  52. }
  53. }
  54.  
  55. public static void parserXml() {
  56. // 创建一个SAXBuilder
  57. SAXBuilder builder = new SAXBuilder();
  58. try {
  59. // 通过输入源SAX构造一个Document
  60. Document document = builder.build("src/test-jdom-create.xml");
  61. //获取根节点
  62. Element root = document.getRootElement();
  63. // 获得root节点下面的所有子节点
  64. List<Element> departmentList = root.getChildren();
  65. for (Element department: departmentList) {
  66. // 获得节点属性
  67. System.out.println(department.getName()+"\t"+department.getAttributeValue("name"));
  68. List<Element> employeeList = department.getChildren();
  69. for (Element employee : employeeList) {
  70. // 获得节点属性和文本
  71. System.out.println("\t" + employee.getName() + "\t"+ employee.getAttributeValue("name") + "\t"+ employee.getText());
  72. }
  73. }
  74. } catch (JDOMException e) {
  75. System.out.println(e.getMessage());
  76. } catch (IOException e) {
  77. System.out.println(e.getMessage());
  78. }
  79. }
  80. }

  生成文本:

  

  输出结果:

  

  

【Java】XML解析之JDOM的更多相关文章

  1. Java XML解析器

    使用Apache Xerces解析XML文档 一.技术概述 在用Java解析XML时候,一般都使用现成XML解析器来完成,自己编码解析是一件很棘手的问题,对程序员要求很高,一般也没有专业厂商或者开源组 ...

  2. Java XML解析工具 dom4j介绍及使用实例

    Java XML解析工具 dom4j介绍及使用实例 dom4j介绍 dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory ...

  3. java xml解析方式(DOM、SAX、JDOM、DOM4J)

    XML值可扩展标记语言,是用来传输和存储数据的. XMl的特定: XMl文档必须包含根元素.该元素是所有其他元素的父元素.XML文档中的元素形成了一颗文档树,树中的每个元素都可存在子元素. 所有XML ...

  4. xml解析工具-jdom

    前言:近期接触SSH框架的时候,经常得配置一下xml文件:今天闲来没事就挖挖xml解析的原理供大伙儿分享.本文主要通过一个简单的例子解析一个xml文件.明白其中缘由之后,大家想定义自己的xml也绝非难 ...

  5. XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax

    本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...

  6. Java数据库编程及Java XML解析技术

    1.JDBC概述 A.  什么是JDBC? Java DataBase Connectivity:是一种用于执行SQL语句的Java API,它由一组用Java语言编写的类和接口组成.通过这些类和接口 ...

  7. Java -- XML解析工具dom4j

    前言 XML现已成为一种通用的数据交流方式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便,对于XML的解析有四种方式:DOM生成和解析XML文档,SAX生成和解析XML文件 ...

  8. 大数据之路week04--day05(java XML解析)

    java解析XML的四种方式: XML是一种通用的数据交换格式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便.XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不 ...

  9. xml 解析之 JDOM解析

    JDOM 是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序.JDOM 是一个开源项目,它基于树形结构,利用纯 Java 的技术对 XML 文档实现解析.生成.序列化及多种操 ...

随机推荐

  1. Spring AOP 完成日志记录

    Spring AOP 完成日志记录 http://hotstrong.iteye.com/blog/1330046

  2. Tomcat 配置 HTTPS双向认证

    Tomcat 配置 HTTPS 双向认证指引说明: � 本文档仅提供 Linux 操作系统下的指引 � 在阅读本指引前请您在 Linux 部署 JDK 和 Tomcatserver为了 Tomcat ...

  3. main 方法,

    默认是设置是alt /   就是你打出main以后按(alt /)

  4. 苹果手机制作gif图片

    前一段介绍了一款很好用的在模拟器上录制gif图片的工具licecap(地址:http://www.cnblogs.com/10-19-92/p/5593785.html), 但是licecap不能使用 ...

  5. 【转】WPF 窗体淡入淡出动画

    第一种 <Window.Triggers> <EventTrigger RoutedEvent="Window.Loaded" > <BeginSto ...

  6. thinkphp关联模型的注意大小写

    TP框架报错: think\Model:relation方法不存在 首先检查大小写,尤其是模型名称首字母大写 /**** 模型名字QqModel.class.php ***************** ...

  7. 26、首先通过javascript包的异步加载来学习echarts包的结构

    1.在这里先写一写前言,今天在公司搞定了一个对于滚动条进行定位的case,明天开始做TestManagement. 首先大家先来一起看一看流行的javascript文件的加载方式,这里采用别人博客上的 ...

  8. 树莓派USB摄像头与camera模块对比

    http://www.cnblogs.com/weixinforspurs/p/5575962.html ——————————————————————————————————————————————— ...

  9. mysql 数据库备份

    (2)使用命令行工具 备份数据库: mysqldump –user=root –password=root密码 –lock-all-tables 数据库名 > 备份文件.sql 恢复数据库: m ...

  10. ASP.NET实现大文件下载

    https://support.microsoft.com/zh-cn/kb/812406 http://www.cnblogs.com/luisliu/p/4253815.html 当我们的网站需要 ...