XML

是EXtensible Markup Language的缩写,它是一种类似于HTML的标记语言,称为可扩展标记语言,传输数据而不是显示数据,可以自定义标签,具有自我描述性是一种通用的数据交换格式,可以使数据在各种应用程序之间轻松地实现数据的交换。


1、XML语言和HTML语言在格式有点相似,HTML与XML比较:

  • HTML中的标记是用来显示数据的,而XML中的标记用来描述数据的性质和结构。
  • HTML是不区分大小写的,而XML是严格区分大小写的。
  • HTML可以有多个根元素,而格式良好的XML有且只能有一个根元素。
  • HTML中,属性值的引号是可用可不用的,而XML中,属性值必须放在引号中。
  • HTML中,空格是自动过滤的,而XML中,空格则不会自动删除。
  • HTML中的标记是预定义的,而XML中的标记是可以随便定义的,并且可扩展。

注意:XML不是HTML的升级,也不是HTML的替代产品,它们的应用领域和范围完全不同。

2、XML命名规则

  • 名称可以包含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字母 xml(或者 XML、Xml 等等)开始
  • 名称不能包含空格
  • 可使用任何名称,没有保留的字词。

3、XML解析

XML是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性、给数据集成与交互带来了极大的方便。
      XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已。

       XML的解析方式分为四种:1、DOM解析;2、SAX解析;3、JDOM解析;4、DOM4J解析。

其中前两种属于基础方法,是官方提供的平台无关的解析方式;后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于java平台。

四种解析方式简单比较:

DOM4J性能最好,如果不考虑移植性,可以选择DOM4J,目前许多开源项目中大量采用DOM4J。 JDOM和DOM在性能测试时表现不佳,在测试10M文档时内存溢出。在小文档情况下还值得考虑使用DOM和JDOM。SAX表现较好,这要依赖于它特定的解析方式-事件驱动。一个SAX检测即将到来的XML流,但并没有载入到内存(当然当XML流被读入时,会有部分文档暂时隐藏在内存中)。

一个简单的XML文件:

 <?xml version="1.0" encoding="UTF-8"?>//必须放在第一行
<menu> //根标签(元素)
freeFile //没有标签包裹的,默认为文本Text
<contact id="2018"> //子标签contact 属性id
<name>花花</name>
<age>18</age>
<phone>110</phone>
<email>eo@163.com</email>
<qq>116</qq>
</contact>
<contact id="2017">
<name>小花</name>
<age>18</age>
<phone>110</phone>
<email>ec@163.com</email>
<qq>128</qq>
</contact>
<menu>

XML将数据组织成为一棵树,DOM 通过解析 XML 文档,为 XML 文档在逻辑上建立一个树模型,树的节点是一个个的对象。这样通过操作这棵树和这些对象就可以完成对 XML 文档的操作,为处理文档的所有方面提供了一个完美的概念性框架。

在此解释一下DOM,DOM是文档对象模型(Document Object Model)的缩写,DOM树,就是按照这棵树上的层次顺序,依次来解析每个标签。

 4、对XML进行DOM4j解析

DOM4J解析
           特征:
      1、JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能。
      2、它使用接口和抽象基本类方法。
      3、具有性能优异、灵活性好、功能强大和极端易用的特点。
      4、是一个开放源码的文件

未完待续。。。。。。。

java XML(可扩展标记语言)的更多相关文章

  1. 关于XML(可扩展标记语言)的基础知识与写法------2017-05-18

    XML(Extensible Markup Language) HTML:超文本标记语言,主要用来展示   XML:可扩展标记语言,用来做数据传输XML特点: 1.树状结构,有且只有一个根 2.标签名 ...

  2. XML 可扩展标记语言

    因 为XML实在是太重要了,而且被广泛应用!不论是数据存储,还是其他方面,如配置文件等.XML是一种对独立于任何编程语言的数据进行编码的机制.在数据 交换领域,正在变得非常流行!因为他的基于节点的存储 ...

  3. 可扩展标记语言XML之一:XML的概念、作用与示例

    哈喽大家好啊,乐字节小乐又来给大家分享Java技术文章了.上次已经讲完了Java多线程相关知识(可以看我博客文章), 这次文章将讲述可扩展标记语言XML 一. 标记语言 标记语言,是一种将文本(Tex ...

  4. XML 概述 (可扩展标记语言)

    XML:eXtensible Markup Language  可扩展标记语言 概念:可扩展:xml中所有的标签都是自定义的.没有预定义的.        功能:            存储数据   ...

  5. 关于XML(可扩展标记语言)的基础知识与写法

    XML(Extensible Markup Language) HTML:超文本标记语言,主要用来展示   XML:可扩展标记语言,用来做数据传输XML特点:1.树状结构,有且只有一个根2.标签名自定 ...

  6. XML简介——可扩展标记语言(Extensible Markup Language)

    (What) XML是什么? XML指可扩展标记语言(Extensible Markup Language) 1.  XML是一种标记语言,类似HTML. 2.  XML具有自我描述性 3.  XML ...

  7. 可扩展标记语言XML之二:XML语言格式规范、文档组成

    大家好,小乐又来了,好久不见!这次接着上次可扩展标记语言XML之一:XML概念,作用,示例,继续讲述XML. 一.格式良好的 xml 1.语法规范: 1).必须有 XML 文档声明: <?xml ...

  8. Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识

    JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 ...

  9. 12XML(可扩展标记语言)

    XML:eXtensible Markup Language 什么是标记语言?什么是标记? 标记(Markup):文档中任何不想被打印输出的部分(不是真正的文档内容,联想读书时做的“读书笔记”,在旁边 ...

随机推荐

  1. 关于 Image Caption 中测试时用到的 beam search算法

    关于beam search 之前组会中没讲清楚的 beam search,这里给一个案例来说明这种搜索算法. 在 Image Caption的测试阶段,为了得到输出的语句,一般会选用两种搜索方式,一种 ...

  2. Kubernetes体系结构

      Nodes Node Status Addresses Phase Condition Capacity Info Management Node Controller Self-Registra ...

  3. 授权oAuth

    使用Client Credentials Grant授权方式给客户端发放access token 只验证客户端(Client),不验证用户(Resource Owner),只要客户端通过验证就发acc ...

  4. SpringBoot学习路线

    网上也有很多github资源,都是自己学习Spring Boot时候,自己练的代码 虽然现在最新的版本用2.1.3.RELEASE版本,以前版本的demo运行可能会遇到错误.但是有总比没有要好,不是么 ...

  5. 给大一新生学习c程序的一些建议的一些建议

    这是一篇给刚学习c程序的学弟们的一篇日志.如果想学好c程序,以及不想走太多弯路,希望能看一下这篇文章,如果说基础较好,或者说已经是大二,大三,这篇文章不会有什么帮助. 刚转到软件工程系,加了几个新生群 ...

  6. 一般删除网页数据和jquery下使用Ajax删除数据的区别

    1. 一般删除网页数据 就是指用户在点击删除的时候,会跳转到DeleteUser.ashx一般处理程序中,并且通过get传参的方式传递一个id的参数,然后在后台处理 <a href='Delet ...

  7. Vscode中运行js文件或部分代码 ,在下面cmd输出中显示结果

    重启 vscode,  这个插件  真好用,, 赞个 ....

  8. C++中的清屏函数

    system("cls") 执行控制台命令cls,功能是清屏,清楚所有屏幕显示信息

  9. Windows上安装运行hadoop

    0.自己编译安装步骤在这里,有英文版本连接:<英文传送门>. 自己编译尝试后不成功,换为下面使用别人编译好的版本的方法.参考博客:<初学hadoop,windows下安装> 1 ...

  10. spring cloud: zuul(四): 正则表达式匹配其他微服务(给其他微服务加版本号)

    spring cloud: zuul(四): 正则表达式匹配其他微服务(给其他微服务加版本号) 比如我原来有,spring-boot-user微服务,后台进行迭代更新,另外其了一个微服务: sprin ...