XML 解析技术
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 解析技术的更多相关文章
- xml解析技术
本文总结Dom,sax解析, 使用Java作为工具解析xml文档. 1 Dom 综述:Dom解析xml通常也称为xmlDom (和htmlDom技术差不多),将xml文档封装成树,好处就是xml中的 ...
- Android实现XML解析技术
转载:Android实现XML解析技术 本文介绍在Android平台中实现对XML的三种解析方式. XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为 ...
- XML解析技术研究(一)
摘要:XML作为过去十年中出现的最流行的技术之一,得到了广泛的应用,而其中XML解析技术是XML应用的关键.本文介绍了XML解析技术的研究动向,分析和比较了4种XML解析技术的优劣,并归纳总结了应 ...
- Java数据库编程、XML解析技术
数据库编程 JDBC概述 是Java Database Connecive,即数据库连接技术的简称,它提供了连接各种常用数据库的能力. 是一种用于执行SQL语句的Java API,可以为多种关系数据库 ...
- 一文读懂四种常见的XML解析技术
之前的文章我们讲解了<XML系列教程之Schema技术_上海尚学堂java培训技术干货><XML的概念.特点与作用.XML申明_上海Java培训技术干货>,大家可以点击回顾一下 ...
- Java数据库编程及Java XML解析技术
1.JDBC概述 A. 什么是JDBC? Java DataBase Connectivity:是一种用于执行SQL语句的Java API,它由一组用Java语言编写的类和接口组成.通过这些类和接口 ...
- XML解析技术简介——(一)
- JAVA数据库编程、JAVA XML解析技术
JDBC概述 JDBC是JAVA中提供的数据库编程API curd :数据库增删改 链接字符串:String url = "mysql :/localhost :3306/jdbc/&quo ...
- XML解析技术-dom4j
随机推荐
- 1016B - Segment Occurrences(字符串的匹配)
题意:字符串a,字符串b,给你q个区间,让你求a的区间内字符串b出现了多少次 之前用的前缀数组做的,没想起来,发现这个其实也可以 #include<cstdio> #include< ...
- MOBA项目定点数的一个想法
能不能这样: 写逻辑时全用整数,不用每用到一个浮点数就要转一下成浮点数. 主要是除法 题细节较多,待思考
- Linux 完整卸载oracle和grid软件
本文主要描述如何在Linux下完全卸载oracle和grid软件. 操作环境 SuSE11 oracle用户完整删除操作步骤 1.登录oracle用户,停止Oracle数据库监听和数据库实例 orac ...
- oracle函数大全-字符处理函
字符函数——返回字符值 这些函数全都接收的是字符族类型的参数(CHR 除外)并且返回字符值.除了特别说明的之外,这些函数大部分返回VARCHAR2类型的数值.字符函数的返回类型所受的限制和基本数据库类 ...
- 函数传参传的是啥的思考【java Python】
今天看<java 核心 卷1>的时候,作者提到了函数传参的问题,他提到,java传参,传的是值,而不是引用,然后,函数将要传的实参的值(如果实参是基本数据类型,那么就是值.如果实参是对象, ...
- Pandas统计分析
Pandas统计分析 pandas数据的基本统计分析 和numpy的函数近似 dates = pd.date_range(',periods=10) dates df = pd.DataFrame(n ...
- python爬取酒店信息练习
爬取酒店信息,首先知道要用到那些库.本次使用request库区获取网页,使用bs4来解析网页,使用selenium来进行模拟浏览. 本次要爬取的美团网的蚌埠酒店信息及其评价.爬取的网址为“http:/ ...
- 微信小程序生命周期——小程序的生命周期及页面的生命周期。
最近在做微信小程序开发,也发现一些坑,分享一下自己踩过的坑. 生命周期是指一个小程序从创建到销毁的一系列过程. 在小程序中 ,通过App()来注册一个小程序 ,通过Page()来注册一个页面. 首先来 ...
- React DevTools
[React DevTools] 在应用商店搜索安装.F12可打开.如果是react应用,在最右排会显示react标签. 参考:https://github.com/facebook/react-de ...
- 读取excel表格以及生成自动化报告
数据库读取 标签(空格分隔): 数据库读取 读excel数据xlrd 当登录的账号有多个的时候,我们一般用excel存放测试数据,本节课介绍,python读取excel方法,并保存为字典格式. 1.先 ...