xml 解析方式有两种: dom 解析和 sax 解析;

针对着两种解析方式,有三种解析器:

sun公司的 jaxp
dom4j 组织的 dom4j
jdom 组织的 jdom

dom 解析XML :

缺点:文件全部加载进内存,容易造成内存溢出
优点:很容易进行增删改操作

----------------------------------jaxp 解析xml---------------------------------

jaxp 解析器在 jdk的 javax.xml.parsers 包中;

针对dom 解析提供的类 :

1.DocumentBuilder   :解析器类
  是一个抽象类 :通过 DocumentBuilderFactory.newDocumentBuilder() 方法获取
2.DocumentBuilderFactory: 解析器工厂
  是一个抽象类 :通过newInstance() 获取实例

获取上下文Document 对象:

     //obtain 工厂对象
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//obtain DocumentBuilder via DocumentBuilderFactory
DocumentBuilder docBuilder = factory.newDocumentBuilder();
File file = ResourceUtils.getFile("springTest/beandefiniition.xml");
    //可以是一个XML文件,也可以是一个输入流
Document parse = docBuilder.parse(file);

查找元素:(与js 差不多,不进行举例)

NodeList elementsByTagName = parse.getElementsByTagName("bean");

----------------xpath 的使用--

Xpath 是用来方便我们快速找到我们需要节点的超便捷工具,如何定义呢创建一个Xpath 对象呢?

 XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPath返回的数据类型:
 

那么怎么利用Xpath 去定位我们的元素呢?

  方法: Object evaluate(String expression, Object item, QName returnType);

      expression:表达式;

      item:开始的上下文,可以说document ,也可以说一个Node

      returnType:返回的数据类型;参考上面的图片

/元素    -> 绝对路径去查找元素 (是以层级关系去找)

 Node evaluate = (Node)xpath.evaluate("/mapper", document,XPathConstants.NODE);

//元素  -> 满足//之后的规则的元素,无论层级关系

NodeList nodeList = (NodeList) xpath.evaluate("//select",document, XPathConstants.NODESET);

元素|元素|元素   -> 查找匹配的元素

NodeList nodeList= (NodeList) xpath.evaluate("select|insert|update|delete",document, XPathConstants.NODESET);

XML 解析技术的更多相关文章

  1. xml解析技术

    本文总结Dom,sax解析,  使用Java作为工具解析xml文档. 1 Dom 综述:Dom解析xml通常也称为xmlDom (和htmlDom技术差不多),将xml文档封装成树,好处就是xml中的 ...

  2. Android实现XML解析技术

    转载:Android实现XML解析技术 本文介绍在Android平台中实现对XML的三种解析方式. XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为 ...

  3. XML解析技术研究(一)

      摘要:XML作为过去十年中出现的最流行的技术之一,得到了广泛的应用,而其中XML解析技术是XML应用的关键.本文介绍了XML解析技术的研究动向,分析和比较了4种XML解析技术的优劣,并归纳总结了应 ...

  4. Java数据库编程、XML解析技术

    数据库编程 JDBC概述 是Java Database Connecive,即数据库连接技术的简称,它提供了连接各种常用数据库的能力. 是一种用于执行SQL语句的Java API,可以为多种关系数据库 ...

  5. 一文读懂四种常见的XML解析技术

    之前的文章我们讲解了<XML系列教程之Schema技术_上海尚学堂java培训技术干货><XML的概念.特点与作用.XML申明_上海Java培训技术干货>,大家可以点击回顾一下 ...

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

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

  7. XML解析技术简介——(一)

  8. JAVA数据库编程、JAVA XML解析技术

    JDBC概述 JDBC是JAVA中提供的数据库编程API curd :数据库增删改 链接字符串:String url = "mysql :/localhost :3306/jdbc/&quo ...

  9. XML解析技术-dom4j

随机推荐

  1. 虚拟机扩容mac

    VMware虚拟机Mac增大容量: 1.设置硬盘容量大小 2.打开虚拟机的终端,找到需要扩展的硬盘.输入命令 :diskutil list 注意 :我的硬盘名字叫yz,这一行可以看见当前分配容量,最后 ...

  2. Grafana分析Nginx日志

    配置Groub by -Terms时报错,提示需要设置fielddata=true,报错内容大概如下: "Fielddata is disabled on text fields by de ...

  3. Dos命令快速设置ip、网关、dns地址

    netsh interface ip set address name="本地连接" source=static 192.168.1.8 255.255.255.0 192.168 ...

  4. unity 获取网络时间

    http://cgi.im.qq.com/cgi-bin/cgi_svrtime public int year, mouth, day, hour, min, sec; public string ...

  5. NIPS 2016上22篇论文的实现汇集

    http://blog.csdn.net/jiandanjinxin/article/details/54087592 日前,LightOn CEO 兼联合创始人 Igor Carron 在其博客上放 ...

  6. 在CentOS7中利用yum命令安装mysql

    在CentOS7中利用yum命令安装mysql 原创 2016年08月31日 10:42:33 标签: mysql / centos 4832 一.说明 我们是在VMware虚拟机上安装的mysql, ...

  7. 关于malloc(0)的返回值问题--这两天的总结与实践篇

    就像我在http://www.cnblogs.com/wuyuegb2312/p/3219659.html 文章中评论的那样,我也碰到了被提问这个malloc(0)的返回值问题,虽然感觉这样做在实际中 ...

  8. Java学习02 (第一遍)

    巩固基础: byte 1个字节 -128到127 = 2^(字节数*8-1),转变2进制,01111111(负127)到11111111(正127) ,存在正负零(00000000),正零保留,负零补 ...

  9. swift中UIImageView的创建

    let imageView = UIImageView() let imageView1 = UIImageView(frame: CGRectMake(, , , )) // 创建出来的UIImag ...

  10. Winform 学生管理系统增删改查

    数据库: create database adonet go use adonet go create table xue ( code ), name ), sex bit, birth datet ...