xml如何循环解析相同节点的第二个字段_结构化数据、半结构化数据(XML)和非结构化数据...

《XML实用大全》pdf版,需要请留言,私信:“XML实用大全”,自行下载

980a27a2f9c32b732eaf90e725e9cc31.png

图1 XML 实用大全

结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。举一个例子:

id name age gender

1 lyh 12 male

2 liangyh 13 female

3 liang 18 male1234

所以,结构化的数据的存储和排列是很有规律的,这对查询和修改等操作很有帮助。但是,显然,它的扩展性不好(比如,我希望增加一个字段,怎么办?)。

半结构化数据

半结构化数据是结构化数据的一种形式,它并不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层。因此,它也被称为自描述的结构。

半结构化数据,属于同一类实体可以有不同的属性,即使他们被组合在一起,这些属性的顺序并不重要。

常见的半结构数据有XML和JSON,对于对于两个XML文件,第一个可能有

A

13

female

12345

第二个可能为:

B

male

1234

从上面的例子中,属性的顺序是不重要的,不同的半结构化数据的属性的个数是不一定一样的。有些人说半结构化数据是以树或者图的数据结构存储的数据,怎么理解呢?上面的例子中,标签是树的根节点,和标签是子节点。通过这样的数据格式,可以自由地表达很多有用的信息,包括自我描述信息(元数据)。所以,半结构化数据的扩展性是很好的。

非结构化数据

顾名思义,就是没有固定结构的数据。各种文档、图片、视频/音频等都属于非结构化数据。对于这类数据,我们一般直接整体进行存储,而且一般存储为二进制的数据格式。

---------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Java的XML解析与反射设计模式 摘要:随着计算机时代的蓬勃发展,internet的普及给社会以及人民的生活带来了巨 大的影响。与此同时,b/s结构的多系统相互访问技术应时代的发展也如雨后春笋般不断 涌现出来,相应的多系统间数据交互产生的问题也是越来越多,xml的数据解析与系统业 务逻辑如何融合就是其比较难以解决的问题之一。 关键词:xml java 在web,多系统间数据交互一般使用webservice技术,它是一种构建应用程序的普遍模 型,可以在任何支持网络通信的操作系统实施运行;它是一种新的web应用程序分支, 是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。webservice是一个 应用组件,它逻辑性的为其他应用程序提供数据与服务。各应用程序通过网络协议和规 定的一些标准数据格式(http,xml,soap)来访问webservice,通过webservice内部执 行得到所需结果。web service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他webse rvice应用程序可以发现并调用它部署的服务。webservice的主要目标就是跨平台的可互 操作性。为了达到这一目标,webservice完全基于xml、xsd等独立于平台、独立于软件 供应商的标准,是创建可互操作的、分布式应用程序的新平台。 java作为现下最流行的可撰写的跨平台应用软件的面向对象的程序设计语言,在多系统 数据交互这方面具有先天的优势。它具有动态性,它的设计目标之一是适应于动态变化 的环境。java程序需要的类能够动态的被载入到运行环境,也可以通过网络来载入所需 要的类。安全性,java通常被用在网络环境宏,为此,java提供了一个安全机制加以防 恶意代码的攻击。除了java语言具有的许多安全特性以外,java对通过网络下载的类具 有一个安全防范机制(类classloader),如分配不同的名字空间以防替代本地的同名类 、字节代码检查,并提供安全管理机制(类securitymanager)让java应用设置安全哨兵 。多元性,作为现下最流行的语言,应用之广泛,资源之充足都是现今流行语言的佼 佼者,在行业和企业信息化、电子政务及办公自动化、嵌入式设备及消费类电子产品、 辅助教学等领域发挥着其多元性的优势。 xstream可以完美转换xml,与以往的解析xml工具dom相比,xstream是一个易用的、开源 的库,使用起来简单、小巧,容易理解,可以轻易的将java对象和xml文档相互转换,而 且可以修改某个特定的属性和节点名称。就是由于与java对象的完美转换才更贴近于面 向对象的设计思想,让开发人员更易于使用,更易于过度解析xml与项目业务逻辑之间的 联系。xstream不仅对xml的转换常友好,而且提供annotation注解,可以在avabean 完成对xml节点、属性的描述。以及对json也支持,只需要提供相关的jsondriver就可以 完成转换。使用xstream序列化的类不需要实现serializable接口。xstream是一种序列 化工具而不是数据绑定工具,就是说不能从xml或者xml schema definition (xsd)文件生成类。 和其他序列化工具相比,xstream 有三个突出的特点: xstream不关心序列化/逆序列化的类的字段的可见性。 序列化/逆 序列化类的字段不需要getter和setter 方法。 序列化/逆序列化的类不需要有默认构造函数。 不需要修改类,使用 xstream就能直接序列化/逆序列化任何第三方类。xstream也有其欠缺的地方,当xml过 大时用xstream解析就略显笨重,saxparser可以解决这个问题,saxparser在处理xml常类似于流媒体的方式,分析能够立刻开始,而不是等待所有的数据被处理。而且程 序只是在读数据时检查数据,因此不需要将数据存储在内存。这对于处理大型xml来 说是个巨大的优点,事实上,程序甚至不必解析整个文档,它可以在某个条件得到满足 时停止解析,这种读方式比xstream与dom都要快上许多。所以在读大型xml时可以把 xstream与saxparser结合起来使用,用saxparser读整个xml把核心数据部分让xstrea m来解析成javabean,这样既解决了大数据的问题又利用了xstream快速转化javabean的 优点。 为了利于多系统间数据交互的一致性与标准性,需要在开发项目初期就要制定好数据交 互的xsd标准( xml schemas definition )。xsd描述了xml文档的结构。可以用一个指定的xsd来验证某个xml文档,以检查该xm l文档是否符合其要

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值