XML语言学习随笔

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解析更简单和对内存占用更小!

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

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

 

时间: 2024-08-25 22:18:18

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

c语言学习随笔

c语言是一门语言,拥有语言的共性,当我们学习外语的时候了解其思维习惯外加一些基础知识就可以很快掌握,学习这门语言的时候同样我们需要了解它的基本知识和它的整个思维.那么下面先介绍一下我目前学习的基本知识. 1.基本数据类型: c语言的基本数据类型分为:字符型(char),整形(short, int, long), 浮点型(float, double) 其中字符型和整形还分为带符号的和不带符号的,默认情况下都是带符号的,如果使用unsigned则说明不带符号的,如果是带符号的,那么最高位将表示符号位

JavaWeb学习随笔

Servlet学习随笔 1.HttpServlet init(ServletConfig)------Servlet生命周期中的初始方法,默认情况是服务器创建后第一次访问这个Servlet时调用,可以修改配置信息,使其在服务器一创建时就被调用; 修改配置信息的方法-----在web.xml的<servlet>下添加<load-on-startup>x<load-on-startup>,x是正整数,越小表示优先级越高 url路径的配置,完全匹配>目录匹配>(.

JavaScript--基于对象的脚本语言学习笔记(二)

第二部分:DOM编程 1.文档象模型(DOM)提供了访问结构化文档的一种方式,很多语言自己的DOM解析器. DOM解析器就是完成结构化文档和DOM树之间的转换关系. DOM解析器解析结构化文档:将磁盘上的结构化文档转换成内存中的DOM树 从DOM树输出结构化文档:将内存中的DOM树转换成磁盘上的结构化文档 2.DOM模型扩展了HTML元素,为几乎所有的HTML元素都新增了innerHTML属性,该属性代表该元素的"内容",即返回的某个元素的开始标签.结束标签之间的字符串内容(不包含其它

XML之学习笔记

参考:http://www.w3school.com.cn/xml/index.asp中的 树结构.语法.元素.属性.验证.命名空间.编码 目的:理解Android开发中的.xml文件是怎样的 XML代码均摘自ADT(Android Development Tools),讲述如有谬误,敬请指正. XML规定:区分大小写.必须有根元素.标签打开了就要关闭 一.元素 开始标签到结束标签的部分,特定类型的一个事物 <.../>不允许有子元素, 即叶节点 <...>...<.../&

安卓学习随笔 -- 自定义标题栏

在安卓中不喜欢系统默认的标题栏,那么如何让自定义一个自己的标题栏呢. 自定义后的标题栏如下: 首先这里需要定义一个自定义的标题栏布局 title.xml文件 (里边需要两个图片这个很简单) <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fi

xml语言

  什么是XML,为什么学习XML? Extensible Markup Language,翻译过来为可扩展标记语言.Xml技术是w3c组织公布的,眼下推荐遵循的是W3C组织于2000公布 的XML1.0规范. XML语言出现的根本目标在于描写叙述上图那种,在现实生活中常常出现的有关系的数据. 在XML语言中.它同意用户自己定义标签. 一个标签用于描写叙述一段数据.一个标签可分为開始标签和结束标签,在開始标签和结束标签 之间,又能够使用其他标签描写叙述其他数据,以此来实现数据关系的描写叙述. 比

PHP操作XML文件学习笔记

原文:PHP操作XML文件学习笔记 XML文件属于标签语言,可以通过自定义标签存储数据,其主要作用也是作为存储数据. 对于XML的操作包括遍历,生成,修改,删除等其他类似的操作.PHP对于XML的操作方式很多,这次学习的是通过DOMDocument进行操作,其他的操作方法可以参考 http://www.oschina.net/code/snippet_110138_4727 1.对XML文件的遍历 通过DOMDocument对于XML文件的操作的方法:首先要实例化一个DOMDocument类的对

XML语言基础

首先说明一下本文章的范围,因为XML在编程过程中以及数据传递的过程中会应用得非常的广泛,所以不可能一一介绍,本文只进行叙述作者对XML语言的理解,以及XML基础的知识.因为掌握了基础,关于XML的应用也就迎刃而解了. 本文章共分为以下几个部分:为什么,是什么和怎么用三部分.其实所有的语言或者是其他的问题都是这样三个部分,理解了这三个部分一门语言也就基本理解了,至于一些特别的应用,都不会离开语言的本质的. 首先是为什么? XML语言为什么要出现呢? 在我们进行传递数据时往往会出现规格不统一的情况,

XML简单学习

XML简单概述 1.Extensible Markup language可扩展标记语言; 2.作用:具有层次性的描述有关系的数据: 体现在:描述数据关系:软件配置,以描述程序模块之间的关系: 语法介绍 1.文档声明: <?xml version="1.0" encoding="utf-8" ?> 注意编码的统一性 储存在内存中的编码格式,与解析器打开的两者统一 2.元素:element 成对标签 <label>pcdata</lable