XML 可扩展标记语言(Extensible Markup Language),是独立于软件和硬件的传输工具。

  XML的作用:

        (1)用作配置文件

        (2)简化数据共享

        (3)简化数据传输

  XML DOM解析方式

    在java工程中导入dom4j.jar包.

  (一)用java读XML文件

    <1>创建SAXReader对象.

      RAXReader reader=new RAXReader();

    <2>调用RAXReaderDocument read(File file)方法,获取xml文件的Document对象(包含xml文件的dom结构).

      Document doc=reader.read(new File("config.xml"));

      注:read有很多重载方法,还可以传入流对象.

    <3>调用DocumentElement getRootElement()方法,获取xml的根元素.

      Element root=doc.getRootElement();

    <4>获取根元素之后,有很多Element方法,利用这些方法就可以不断的解析xml的dom结构.

      (1)获取当前元素下的所有子元素

        List<Element> elements()

      (2)获取当前元素下的所有同名子元素

        List<Element> elements(String name)

      (3)获取当前元素指定名称的子元素

        Element element(String name)

      (4)获取当前元素的名称

        String getName()

      (5)获取当前元素的内容

        String getText()

        String getTextTrim()

      (6)获取当前元素下指定名称的子元素内容

        String elementText(String name)

      (7)获取当前元素的属性

        Attribute attribute(int index)  //获取当前元素第index属性,从0开始

        Attribute attribute(String name)  //获取当前元素指定名称的属性

   <5>属性Attribute的相关方法

      (1)获取当前属性的名称

        String getName()

      (2)获取当前属性的值

        String getValue()

(二)用java写xml文件

    先创建document对象,然后不断补全document的DOM结构,最后把document对象写入指定xml文件中

    <1>先创建一个document对象,必须使用DocumentHelper的静态方法Document  static createDocument()来创建document对象

      Document doc=DocumentHelper.createDocument()

    <2>顶用DocumentElement addElement()向document对象中添加指定名称根元素(只能调用一次,因为根元素只有一个)

      Element root=doc.addElement(String name)

    <3>后续,Element有很多方法,用于不断的补全Document的DOM结构

      (1)在当前元素下添加指定名称的子元素(返回值是子元素)

        Element addElement(String name)

      (2)在当前元素添加其内容(返回值当前元素)

        Element addText(String text)

      (3)在当前元素添加器属性(返回值是当前元素,可以不断追加其属性)

        Element addAttribute(String name,String value)

    <4>补全DOM结构后,把document对象写入xml文件中

      (1)创建XMLWriter高级流对象

        XMLWriter writer=new XMLWriter();

        注:XMLWriter writer=new XMLWriter(OutputStream os);,可省略第二步

      (2)为XMLWriter设定低级输出流

        FileOutputStream fos=new FileOutputStream("new.xml");

        writer.setOutputStream(fos);

      (3)将document对象写入xml文件中

        wirter.write(doc);

      (4)最后关闭XMLWriter流对象

        writer.close();

用java操作XML文件(DOM解析方式)的更多相关文章

  1. JAVA读取XML文件并解析获取元素、属性值、子元素信息

    JAVA读取XML文件并解析获取元素.属性值.子元素信息 关键字 XML读取  InputStream   DocumentBuilderFactory   Element     Node 前言 最 ...

  2. mybatis源码-解析配置文件(一)之XML的DOM解析方式

    目录 简介 Java 中 XML 文件解析 解析方式 DOM 解析 XML 新建 XML 文件 DOM 操作相关类 Java 读取 XML 文件 一起学 mybatis @ 简介 在之前的文章< ...

  3. 【文件处理】xml 文件 DOM解析

    一.Java解析xml.解析xml四种方法.DOM.SAX.JDOM.DOM4j.XPath 此文针对其中的DOM方法具体展开介绍及代码分析 sax.dom是两种对xml文档进行解析的方法(没有具体实 ...

  4. Java操作xml文件

    Bbsxml.java public class Bbsxml { private String imgsrc; private String title; private String url; p ...

  5. java操作xml文件--修改节点

          上一篇文章我介绍了SAX方法解析XML文件的过程,这篇文章讲解的内容是利用DOM方法修改XML文件的节点内容.       下面依然是首先贴出XML文件: <?xml version ...

  6. java操作XML文件--读取内容

          先把问题贴出来:编写一个可以解析xml及修改xml内容的工具类       由于我以前做过Android应用程序开发,之前也解析过xml文件,所以,这道题不是很难,这篇文章我先解决第一个问 ...

  7. Java操作XML文件 dom4j 篇

    在项目中,我们很多都用到了xml文件,无论是参数配置还是与其它系统的数据交互.今天就来讲一下Java 中使用dom4j来操作XML文件. 我们需要引入的包: //文件包 import java.io. ...

  8. XML文件的解析方式

    XML文件4种解析方式分别是:DOM解析,SAX解析,JDOM解析,DOM4J解析.1.基础方法:DOM:与平台无关的官方的解析方式.SAX:Java平台提供的基于事件驱动的解析方式.2.扩展方法(在 ...

  9. 【Java】XML文件的解析

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...

随机推荐

  1. centos6.4_安装Python3.5.2之问题

    一.安装centos6.4虚拟机 这个就不用我详细介绍了,网上安装教程一大把了哈,自己百度安装应该没啥问题了 二.下载python安装包 官网下载python3.5.2安装包:https://www. ...

  2. Mac 下 Intellij IDEA 2016.1.2+maven+jetty+ JRebel 6.4.3 破解+spring mvc

    准备阶段:  Intellij IDEA 2016.1.2 (官方下载,作者下载的是社区版): JRebel for IntelliJ插件安装,可选择在线安装,在线安装的是最新版,我选择本地安装, 下 ...

  3. 使用springMVC实现文件上传和下载之文件下载

    接上一篇,文件下载需要获取下载文件的存储路径,这里只是手动填入,如果是在具体项目中,可以把文件名和上传后的存储路径保存在数据库中.然后增加一个文件列表的页面展示文件名和文件路径,然后点击下载的时候把相 ...

  4. 初识C++的类

    //Sales_item.h#ifndef SALESITEM_H #define SALESITEM_H #include <iostream> #include<string&g ...

  5. [家里蹲大学数学杂志]第053期Legendre变换

    $\bf 题目$. 设 $\calX$ 是一个 $B$ 空间, $f:\calX\to \overline{\bbR}\sex{\equiv \bbR\cap\sed{\infty}}$ 是连续的凸泛 ...

  6. 用Visual Studio 2015 编写 MASM 汇编程序(一)环境配置

    原文地址:http://kipirvine.com/asm/gettingStartedVS2015/index.htm#CreatingProject 下面内容根据上面文章翻译整理而来! 开发32位 ...

  7. SQL%NOTFOUND

    异常相关: 源地址:https://zhidao.baidu.com/question/215737667.html EXCEPTIONwhen others thenrollback;dbms_ou ...

  8. (转载)SQL Server 2005 如何启用xp_cmdshell组件

    原文地址:http://www.cnblogs.com/atree/p/SQL_SERVER_xp_cmdshell.html [错误描述]: SQL Server阻止了对组件‘xp_cmdshell ...

  9. 关于sublime text2

    转自:http://www.qianduan.net/essential-to-sublime-the-text-2-plugins.html Sublime Text 2是一个轻量.简洁.高效.跨平 ...

  10. 慕课网-安卓工程师初养成-6-5 使用循环操作 Java 中的数组

    来源:http://www.imooc.com/code/1531 实际开发中我们经常使用循环控制数组成员的操作.如: 运行结果: 其中,  用于获取数组的长度 需要注意的“小毛病”: 1. 数组下标 ...