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

最新文章

  1. 关于背景图相对父容器垂直居中问题 —— vertical-align 和 line-height 之间的区别
  2. 【转】Matlab练习程序(各向异性扩散)
  3. 【maven】 在 MyEcplise上使用maven搭建Web项目
  4. php + Bootstrap-v3-Typeahead 自动完成组件的使用
  5. 【白痴弟弟和你加强应用层】阅读 Develop API Guides 思考(一个)
  6. How to change your password of your mysql account in WampServer
  7. Spark算子--map和flatMap
  8. Mybatis源码分析(原创)
  9. 微信小程序我的界面
  10. RESTful规范1
  11. vue.js实战——vue 实时时间
  12. Expm 10_1 带负权值边的有向图中的最短路径问题
  13. CSS3--难以想象的滤镜效果
  14. Delphi7如何实现让Tedit显示文字垂直居中(上下居中)
  15. 设置回车的默认按钮detectEnter
  16. 机器学习理论基础学习17---贝叶斯线性回归(Bayesian Linear Regression)
  17. IE6里样式表不起作用解决方法
  18. iOS推送功能极光推送的介绍与实现
  19. 第一章 HttpClient的使用
  20. 【BIRT】使用rptlibrary设置统一数据源

热门文章

  1. trace工具,c++/c#/python
  2. 【C】 04 - 表达式和语句
  3. 【C】 05 - 声明和定义
  4. 为什么要使用sass
  5. localStorage兼容ie6/7 用addBehavior 实现
  6. 【转】Reactor与Proactor两种模式区别
  7. ruby&amp;mongo_mapper
  8. [Mongodb]3.2版本的一些基本操作--待续
  9. 编译错误:error: multi-line comment
  10. CRM JS 设置lookup字段 setSimpleLookupValue