• 用java操作XML文件(DOM解析方式)


      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();

  • 相关阅读:
    MySQL学习笔记
    FileInputStream
    Java 多个if 和多个else if 的区别
    Flume 聚合
    Flume SinkProcessor
    Flume ChannelSelector (包括自定义flume拦截器)
    Flume 案例演示
    為政第二
    各种版本 WordCount
    學而第一
  • 原文地址:https://www.cnblogs.com/gangbalei/p/5763035.html
Copyright © 2020-2023  润新知