XML和HTML都是W3C的定制的标准,XML的诞生本身是为了替代不成熟的HTML,但是因为现实的环境,XML替代HTML并未成功。之后W3C为了代码严谨性的决心,又发布了升级版的标记语言XHTML,但是依然因为显示环境的主要原因,未能成功推广,知道今天HTML5的诞生!

XML简单的特点

1. 比HTML更加规范严谨

2.具备树状格式

3.具有层次感

XML的组成

1.文档声明

2.元素

3.属性

4.注释

5.CDATA区

6.特殊字符

7.处理命令

文档声明

在XML中必须存在文档声明,否则绝对是一个不规范的XML,写法:<? xml version="1.0" encoding="utf-8" standalone="yes" ?><xml>

属性 version 表示版本号 附:因为XML并未推广成功,所以XML目前只有1.0版本

属性 encoding 文本编码

属性 standalone 独立运行 附:日常中几乎这个属性不怎么出现

关于文本编码声明说明:

日常生活中,我们写完XML代码然后保存XML格式文件到硬盘需要转换到二进制,当文本转到二进制后,如果放在服务器,有客户这是访问了这个文档,那么此时服务器就会发生二进制给对方,对方收到后,为了还原,所以浏览器会自动解码成能够看懂的编码,而在中国浏览器使用的是GBK编码,而编辑XML的工具保存XML的时候,通常是UTF-8编码,为了使客户获取文本后,能够看到正确的内容,此时我们就需要在文档中声明 编码格式为 encoding=”UTF-8“ 那么在对方浏览器解析二进制后,就会自动转换成UTF-8而不是转换为GBK编码的乱码形式显示。

元素(标记/标签)

1.标签不像HTML 中可以有<br/>这种形式存在,XML是规范严谨的 所以有开始标签,必须有结束标签

2.标签和HTML一样,不支持交叉嵌套

3.一个合理的XML文档,整篇只会存在一个根元素,充分体现树状形式

4.对于XML而言 空格和换行符都会当作内容处理,所以严谨的XML文档请勿如同平时HTML一样随意打上空格和换行符!

5.XML是区分大小写的,所以请确保大小写不规范

属性

1.  一个标签可以有多个属性,就如同声明标签<XML></XML>一样里面可以放版本,编码等属性

2. 属性的值根据XML的规范需要打上双引号

CDATA

在日常中,就如同我现在写笔记,不妨会出现<> [] 此类特殊字符,而XML中<>是具备特殊含义的。一般我们可以用转义字符方式显示,但是如果内容特别多,这样比较麻烦,所以XML特别提供了CDATA分区。

我们只要将内容前后输入<![CDATA[ code ]]> 标签,然后在code区输入自己需要写的内容,那么XML就不会将此区域里的特殊字符<>此类当作标签定义,而是正常的文本!

浏览器解析的三个方式   附: 解析就是为了对HTML或XML动态的可以改变文档的内容,以及可以结构化的查询某个标签的具体内容 属性等。

DOM解析:将所有的标签都转换为对象,存放在内存中,这样资源可以随意调用修改,但是因为在内存所以特别占用资源

SAX解析:这种解析方式会逐行地去扫描XML文档,当遇到标签时会触发解析处理器,采用事件处理的方式解析XML (Simple API for XML) ,不是官方标准,但它是 XML 社区事实上的标准,几乎所有的 XML 解析器都支持它。优点是:在读取文档的同时即可对XML进行处理,不必等到文档加载结束,相对快捷。不需要加载进内存,因此不存在占用内存的问题,可以解析超大XML。缺点是:只能用来读取XML中数据,无法进行增删改,以及触发后则全篇解析。

Pull解析: 这种方式是sax解析的改版,安卓通常采用的方式, 同样采用事件触发解析,但是不需要扫描整个文件流,找到需要的那部分,就解析那部分,避免了SAX解析方式,只要触发则全篇解析,所以比sax解析更简单和对内存占用更小!

关于老师讲的学习这些知识:我们学习,是否需要掌握到全部的具体精细到点内容的问题。这是不必要的,我们只要能大概知道这部分知识,以后能在开发中遇到问题时,大概知道是哪方面的,在着重学习其核心知识,能事半功倍,如果现在连运用场合都不知道,盲目去直接跟着视频学习到具体核心技术点的那些复杂直视,按照通常人的大脑会把没用的都淘汰掉,估计学完也就忘完了!

人脑是奇妙的,如果你不告诉他这种知识能够做什么,就会很快遗忘。如果你不知道学习这篇内容的学习目的,那么一样会学得多忘得多!

 

XML语言学习随笔的更多相关文章

  1. 四、XML语言学习(1)

    XML语言 1.XML是什么?XML是指可扩展标记语言XML是指可扩展标记语言(eXtensible Markup Language),它是一种标记语言,很类似HTML.它被设计的宗旨是传输数据,而非 ...

  2. C语言学习随笔

    前段时间我们学习了HTML,感觉自己不在状态,后来就开始怀疑自己的智商呢!现在C语言也到了尾声,在这20天的学习过程中,我没 有以前那么的傲娇了. 我开始慢慢去反省自己,自己究竟该如何去学习,都说勤能 ...

  3. 四、XML语言学习(3)

    XML编程(CURD) 1.XML解析技术概述XML解析方式分为两种:DOM方式和SAX方式DOM:Document Object Model,文档对象模型.这种方式是W3C推荐的处理XML的一种方式 ...

  4. 四、XML语言学习(2)

    XML约束之DTD 1.XML都是用户自定义标签,若出现小小的错误,软件程序将不能正确地获取文件中的内容而报错.XML技术中,可以编写一个文档来约束一个XML的书写规范,这个文档称之为约束格式良好的X ...

  5. javaweb学习总结七(XML语言作用、语法)

    一:XML语言的概念以及作用 1:xml概念:extensible Markup language,可扩展行标记语言,因为html的语法比较混乱,不够严谨. 用html写的系统不好维护,所以w3c组织 ...

  6. xml基础学习笔记05

    Xpath快速解析 如题一样,本篇主要说说Xpath快速查找XML文档   * Xpatn.Xquery,是专门用来查询xml的语言   * 查询xml非常快   Xpatn.Xquery,是专门用来 ...

  7. PHP操作XML文件学习笔记

    原文:PHP操作XML文件学习笔记 XML文件属于标签语言,可以通过自定义标签存储数据,其主要作用也是作为存储数据. 对于XML的操作包括遍历,生成,修改,删除等其他类似的操作.PHP对于XML的操作 ...

  8. 关于学习方法的借鉴和有关C语言学习的调查

    专长的高超技能获取的成功经验 在游戏方面,我相对于大多数人来说可能更为出色.首先是我投入了大量的时间进行游戏:其次,我几乎每天都会看一会教学视频来模仿:最后应该还是跟个人的天赋有点关系. 如果把这个类 ...

  9. typeScript学习随笔(一)

    TypeScript学习随笔(一) 这么久了还不没好好学习哈这么火的ts,边学边练边记吧! 啥子是TypeScript  TypeScript 是 JavaScript 的一个超集,支持 es6 标准 ...

随机推荐

  1. 我自己的sublime3环境

    概述 我本来一直用的别人自带的破解版sublime3,自带插件. 前几天看<程序员修炼之道>,其中谈到了最好精通一种编辑器,我觉得说的很有道理,于是重新下了最新版的sublime3,一步步 ...

  2. Swift5 语言指南(十九) 错误处理

    错误处理是响应程序中的错误条件并从中恢复的过程.Swift为在运行时抛出,捕获,传播和操纵可恢复的错误提供了一流的支持. 某些操作无法保证始终完成执行或生成有用的输出.Optionals用于表示缺少值 ...

  3. 请求报错:“应以Content-Type: application/x-www-form-urlencoded为请求类型,在form表单中提交登录信息。"

    竟然是post 方法少了参数 // // 摘要: // 以异步操作将 POST 请求发送给指定 URI. // // 参数: // requestUri: // 请求发送到的 URI. // // c ...

  4. Spring Boot 单元测试详解+实战教程

    Spring Boot 的测试类库 Spring Boot 提供了许多实用工具和注解来帮助测试应用程序,主要包括以下两个模块. spring-boot-test:支持测试的核心内容. spring-b ...

  5. Liferay7 BPM门户开发之5: Activiti和Spring集成

    参考文档: https://github.com/jbarrez/spring-boot-with-activiti-examplehttps://github.com/sxyx2008/spring ...

  6. postgresql-无序uuid tps测试

    # postgresql-无序uuid tps测试 ## 无序uuid对数据库的影响 由于最近在做超大表的性能测试,在该过程中发现了无序uuid做主键对表插入性能有一定影响.结合实际情况发现当表的数据 ...

  7. Java运行环境(win10)

    系统安装Java后,配置运行环境,我的系统是win10,之前随便装了,没想到最近执行javac命令报错,(网上找了一堆都没用)处理方式如下: 环境变量-新建:变量名:%JAVA_HOME%  变量值: ...

  8. jvm-垃圾回收gc简介+jvm内存模型简介

    gc是jvm自动执行的,自动清除jvm内存垃圾,无须人为干涉,虽然方便了程序员的开发,但同时增加了开发人员对内存的不可控性. 1.jvm内存模型简介 jvm是在计算机系统上又虚拟出来的一个伪计算机系统 ...

  9. Percona Toolkit mysql辅助利器

    1 PT介绍 Percona Toolkit简称pt工具—PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性.检查重复索引.定位IO占用高的表文件.在 ...

  10. LearnOpenGL学习笔记(二)——着色器简单理解

    着色器在OpenGL中发挥着重要作用,它就像一个画笔,将输入的数据流,转为数学坐标,再将三维坐标变成二维坐标(针对我们现在用的二维显示器,全息显示器肯是三维的),再把二维坐标实际的像素点位置(这里面肯 ...