1.  Dom4J

<students>   
    <student>
        <name>吴飞</name>   
        <college>java学院</college>   
        <telephone>62354666</telephone>   
        <notes>男,1982年生,硕士,现就读于北京邮</notes>
    </student>

</students>

第一步:创建解析器 
 SAXReader reader = new SAXReader();
 第二步:Document对象:通过解析器read方法获取
 Document doc = reader.read("xxxx.xml");
第三步:获取 xml根节点
 Element root = doc.getRootElement();
第四步:遍历解析子节点

  遍历 root根节点下的student子节点
  for(Iterator iter =    root.elementIterator();iter.hasNext();){
  获取 student 节点对象
  Element stuElement = (Element)iter.next();
  遍历 stuElement 节点下的所有子节点:name,colleage,telephone,notes
  for(Iterator innerIter = stuElement.elementIterator();innerIter.hasNext();){
  获取 student节点下的子节点对象
  Element innerElement = (Element)innerIter.next();

  通过 innerElement 的 getName()获取节点名称,getStringValue()获取节点值

  innerElement.getName();

  innerElement.getStringValue();

2.SAX

   创建解析工厂

  SAXParserFactory saxParserFactory = SAXParaserFactory.newInstance();

   创建解析器

  SAXParser saxParser = saxParserFactory.newSAXParser();

  执行parser方法,传入两个参数:xml文件路径、事件处理器

  saxParser.parser(“xxxx.xml”, new MyDefaultHander());

  (4) 创建一个类 MyDefaultHander(),继承 DefaultHander类,重写三个方

     a. startElement  获取开始标签,重要的两个参数说明

          qName:把标签名称返回

          attributes:返回标签中的属性对象
    b.  character    获取标签文本内容
      c.  endElement   获取结束标签
3.Dom4j + xPath

<config>
  <database-info>

    <driver-name>com.mysql.jdbc.Driver</driver-name>
    <url>jdbc:mysql://192.168.7.151:8080/home</url>
     <user>root</user>
       <password>123</password>
  </database-info>
</config>
 第一步:通过 SAXReader 获取解析器
  SAXReader reader = new SAXReader();
 第二步:通过解析器的 read方法获取Document对象
  Document doc = reader.read(“sys-config.xml”);
 第三步:通过 xpath 语法获取driver-name 节点
  Element driverNameElt = doc.selectObject(“/config/database-info/driver-name”);

  String driverName= driverNameElt.getStringValue();

学习笔记-解析xml文件的更多相关文章

  1. XML学习——java解析xml文件

    递归获取每个标签 package test; import java.io.File; import java.util.List; import org.dom4j.Document; import ...

  2. Struts2 学习笔记——struts.xml文件之Bean的配置

    Struts2的大部分核心组件不是以硬编码的形式写在代码中,而是通过自身的IoC容器来管理的. Struts2以可配置的形式来管理核心组件,所以开发者可以很容易的扩展框架的核心组件.当开发者需要扩展或 ...

  3. 【Android学习笔记】XmlResourceParser解析xml文件

    最近学习Android时,需要用到解析XML文件里的数据,可以用XmlResourceParser来解析xml文件,正好将此记录下来. XmlResourceParser里常用的字段和方法 首先先给出 ...

  4. ACEXML解析XML文件——我是如何学习并在短时间内掌握一个库的使用方法的

    最近做的C++项目中需要使用xml文件保存一些信息,程序启动时会读取这些信息.最终经过主程的评测,决定使用ACEXML库来读取解析XML文件. 好吧,至于为什么选择ACEXML库,我就不说了.既然选择 ...

  5. Android开发学习---使用XmlPullParser解析xml文件

    Android中解析XML的方式主要有三种:sax,dom和pull关于其内容可参考:http://blog.csdn.net/liuhe688/article/details/6415593 本文将 ...

  6. JAVA使用SAX解析XML文件

    在我的另一篇文章(http://www.cnblogs.com/anivia/p/5849712.html)中,通过一个例子介绍了使用DOM来解析XML文件,那么本篇文章通过相同的XML文件介绍如何使 ...

  7. java中采用dom4j解析xml文件

    一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...

  8. dom4j如何解析XML文件

    最近在 一些对xml文件的操作,下面简单写一个dom4j解析xml文件并将其封装到一个javabean中的例子,只是具有针对性的,不是通用的,仅供参考哦~~ 首先说:dom4j是一个java的XML ...

  9. java解析XML文件

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源 ...

随机推荐

  1. JS使用百度地图API

    尚未整理: <script type="text/javascript"> var map = new BMap.Map("dituContent" ...

  2. Maven的几个核心概念

    POM (Project Object Model) 一个项目所有的配置都放置在 POM 文件中:定义项目的类型.名字,管理依赖关系,定制插件的行为等等.比如说,你可以配置 compiler 插件让它 ...

  3. 警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:20160928' did not find a matching property

    控制台看到如下警告: 症状原因: 在eclipse配置好的tomcat服务器上双击,打开tomcat服务器的配置界面.按如下操作配置服务器:在Server Options勾上的选项,会在你部署web项 ...

  4. (WPF, MVVM) Slider Binding.

    对于Button的Command的绑定可以通过实现ICommand接口来进行,但是Slider并没有Command属性. 另外如果要实现MVVM模式的话,需要将一些Method和Slider的Even ...

  5. 手势识别(一)--手势基本概念和ChaLearn Gesture Challenge

    以下转自: http://blog.csdn.net/qq1175421841/article/details/50312565 像点击(clicks)是GUI平台的核心,轻点(taps)是触摸平台的 ...

  6. ERP_基于Oracle SOA的企业服务总线整合

    2015-01-01 Created By BaoXinjian

  7. HTML5 Web Storage概述

    Web Storage html5新增功能 可以在客户端本地保存数据 之前是使用Cookies在客户端保存注入用户名等简单用户信息,但永久数据存在几个问题 大小:cookies大小被限制在4KB 带宽 ...

  8. 关于java MulticastSocket中的joinGroup(SocketAddress mcastAddr,NetworkInterface netif)

    今天复习了一下java网络编程这方面(其实是之前没有学好),之前在linux下用c来做过一些例子,不过不好久没有用也就忘得一干二净了.不知道c/c++的东西不太好记,还是当初没好好学. 关于组播这方面 ...

  9. df、du、fdisk:Linux磁盘管理三板斧的使用心得(转载)

    From:http://os.51cto.com/art/201012/240726_all.htm 作者介绍:李洋(博客),博士毕业于中科院计算所.10多年来一直从事计算机网络信息安全研发工作,曾主 ...

  10. tiny210裸机第1课(启动原理)

    软硬件环境 宿主机系统:ubuntu 板子芯片:S5PV210(Contex-A8),512M DDR2,512M SLC Nand 交叉编译器:arm-linux-gcc-4.5.1 手册:S5PV ...