java学习----数据解析

在讲数据解析之前,由于笔者目前能力有限,所以我只能先讲一下XML解析,后面的时间会补上其他数据的解析

讲解目录:

  1、何为数据解析

  2、xml解析

  3、Excel解析

  4、json解析

一、何为数据解析

  举个栗子----如果不同的程序之间需要通信,假如说A程序需要B程序做一件事,B程序说

我可以做这件事,但是你不需要给我必须的数据。我才能做这件事。

我们可以用下面一副图表示:

在上面这幅图中,两个数据的传输都是有数据格式的。我们要做的就是解析这种数据格式或者生成这种数据格式的数据

二、XML解析

  首先我们先认识一下xml数据:

可扩展标记语言(英语:Extensible Markup Language,简称:XML),是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。        -----by wiki

  接下来我们看一个XML数据吧

<?xml version="1.0" encoding="UTF-8"?>
<Students>
    <Student>
        <name java="初级">张三</name>
        <age>14</age>
        <fav>烫头</fav>
    </Student>
    <Student>
        <name java="高级">李四</name>
        <age>16</age>
        <fav>玩游戏</fav>
    </Student>
</Students>

  我们可以看到xml数据的格式,xml数据的第一行写的是xml版本号和字符编码集

  它下面的字标签都是成对出现的,这个xml可以表示两个对象。

  在Java中xml解析的常见方式大致可以分为以下几个

  1、DOM解析----文本对象模型(Document    Object     Model)   w3c标准

  2、SAX解析---- 基于事务驱动的解析

  3、JAXP  SAX和DOM结合

  4、JDOM  第三方开源项目  jdom-*.jar

  5、DOM4J  第三方开源项目  dom4j-*.jar

在此,我们主要讲解一下java内置的SAX解析和DOM解析

  1.DOM解析

  原理:将整个xml文档看成一颗树,会将整个文档一次性读入内存中(适合于小型xml文件解析)

  首先我们先要了解以下DOM解析里的一些名词

  Document对象:文档对象 extends Node
  Node对象:节点对象,所有节点类型的父接口包含元素/标签、属性、文本、注释
  Element:元素/标签(extends Node)
  Attr:属性节点(extends Node)
  Text:文本节点(extends Node)

ps:除文档对象之外,其他的都是节点对象

  为了更形象的解释一下,请看如下图:

  

  XML解析的步骤大致可分为

  1、 构建器工厂
  2、构建器
  3、xml文件-》document对象
  4、节点内容解析

  

原文地址:https://www.cnblogs.com/bananafish/p/9737241.html

时间: 2024-10-24 22:21:37

java学习----数据解析的相关文章

Java数据解析---PULL

安卓和JAVA解析xml文件的三种方式: 1.PULL解析 2.SAX解析 3.DOM解析 三者各有所长,依情况选择解析方式 1.PULL和SAX均采用流式解析,意味着只能从头读到底,无法像DOM解析一样随机访问xml文件中的任意一个节点 2.PULL和SAX占用更少的内存解析,更适用于安卓上的解析xml文件 3.DOM解析时将文件全部解析完,最后让用户任意取特定的信息 ---------------------------------------------------------------

Java学习之道:Java上传下载excel、解析Excel、生成Excel的问题

在软件开发过程中难免需要批量上传与下载,生成报表保存也是常有之事,最近集团门户开发用到了Excel模版下载,Excel生成,圆满完成,对这一知识点进行整理,资源共享,有不足之处还望批评指正,文章结尾提供了所需jar包的下载,方便大伙使用,下面言归正传! 1.Excel的下载 1)Action中: 添加响应事件,通过getRealPath获得工程路径,与jsp中获得request.getContextPath()效果相同,fileName为要下载的文件名,经过拼接filePath是xls文件的绝对

Java学习之道:详解Java解析XML的四种方法

XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transform

42步进阶学习—让你成为优秀的Java大数据科学家!

作者 灯塔大数据 本文转自公众号灯塔大数据(DTbigdata),转载需授权 如果你对各种数据类的科学课题感兴趣,你就来对地方了.本文将给大家介绍让你成为优秀数据科学家的42个步骤.深入掌握数据准备,机器学习,SQL数据科学等. 本文将这42步骤分为六个部分, 前三个部分主要讲述从数据准备到初步完成机器学习的学习过程,其中包括对理论知识的掌握和Python库的实现. 第四部分主要是从如何理解的角度讲解深入学习的方法.最后两部分则是关于SQL数据科学和NoSQL数据库. 接下来让我们走进这42步进

揭秘java大数据学习路线图

很多的同学在学习JavaEE的路上都过得的是坎坷,可以说是夜以继日的敲代码在学习,却发现自己是事倍功半,有的时候遇到一个bug真的很难受,无限互联java大数据培训专家为大家整理了一篇很值得大家去借鉴的学习路线图文章,希望大家在学习的路上一能帆风顺! 一.Java的核心 这就是学习Java的基础,掌握程度的深与浅甚至直接影响后面的整个学习进程. Java的核心主要包括了几个部分: 一. java大数据学习路线图 1.初级的有语法基础.面向对象思想. 学习任何一门语言语法都是必须的,因为Java的

Java反射机制实现微信公众平台XML数据解析

在做微信公众平台开发时,接收消息中有很多种类型的xml消息,比如"文本消息""图片消息""语音消息""视频消息""链接消息""地理位置消息"等等,最初在开发时针对每一种数据格式写了一个实体类,单独做解析,当然这样写的好处是层次分明.但经过尝试之后,用一个统一的实体类消息做处理,更加高效,当然,里面最核心的就是在遍历xml数据时,通过反射的机制动态调用set方法: 1.ReceiveXml

Java构造和解析Json数据的两种方法详解一

原文链接:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/23/3096001.html 在www.json.org上公布了很多Java下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Json数据的方法示例. 用org.son构造和解析Json数据的方法详解请参见我下一篇博文:Java构造和解析Json数据的两种方法详解二 一.介绍 JSO

Java构造和解析Json数据的两种方法详解二(转)

在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Json数据的方法示例. 一.介绍 org.json包是另一个用来beans,collections,maps,java arrays 和XML和JSON互相转换的包,主要就是用来解析Json数据,在其官网http://www.json.org/上有详细讲解,有兴趣的可以去研究. 二.下载jar依赖包  

Java构造和解析Json数据的两种方法详解一(转)

在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Json数据的方法示例. 一.介绍 JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包,主要就是用来解析Json数据,在其官网http://www.json.org/上有详细讲解,有兴趣的可以去研究. 二.下载jar依赖包:可以去这