XML——XML概述
【0】README
0.1)本文描述 转自 core java volume 2, 旨在理解 XML——XML概述 的基础知识;
【1】XML概述相关
1)problem+solution (干货——引入XML的原因)
- 1.1)problem:
- 1.1.1) 属性文件的缺点一:属性文件采用的是一种单一的平面层次结构。 你常常会看到程序员用如下的键来努力解决这种局限性:
title.fontname=baba
title.fontsize=33
body.fontname=aaaa
body.fontsize=12
- 1.1.2) 属性文件的缺点二: 属性文件格式的的另一个缺点是要求键是唯一的。如果要存放一个值序列, 则需要另一个变通方法, 如:
menu.item.1=hehe1
menu.item.2=hehe2
menu.item.3=hehe3
- 1.2)solution: XML格式解决了这些问题, 因为它能够表示层次结构,这比属性文件的平面表结构更灵活,并且重复的元素不会被曲解;
2)XML 和 HTML 很相似: 因为XML 和 HTML 是古老的标准通用标记语言(standard generalized markup language, SGML)的衍生语言;(干货——SGML定义)
补充:intro to 标准通用标记语言(Standard Generalized Markup Language,SGML): 是现时常用的超文本格式的最高层次标准,是可以定义标记语言的元语言,甚至可以定义不必采用< >的常规方式。由于它的复杂,因而难以普及。
这是一个它的例子:
<QUOTE TYPE="example">
typically something like <ITALICS>this</ITALICS>
</QUOTE>
- 2.1)HTML 和 XML 有着重要的区别(Difference): (干货——XML与 HTML的区别)
- D1)与HTML不同, XML 是大小写敏感的;
- D2)在 HTML中,如果上下文可以分清哪里是段落或列表项的结尾,那么结束标签(< /p>,< /li>)就可以省略,而在XML 中结束标签绝对不能省略;
- D3)在XML中, 只有单个标签而没有相对应的结束标签的元素必须以 / 结尾,如 , 这样,解析器就不需要查找 标签了;
- D4)在XML中,属性值必须用引号括起来。在HTML中,引号是可有可无的;
- D5)在HTML中,属性名可以没有值; 在XML中, 所有属性必须都有属性值;
3) XML文档的结构
- 3.1) XML文档头: XML 文档应该以一个文档头开始,如(严格来说,文档头是可选的,但是强烈推荐使用文档头) (干货——XML文档头定义,强烈推荐在XML中使用文档头)
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.">
- 3.3)文档类型定义 的是确保文档正确的一个重要机制,但是他不是必须的;
4)XML 文档的正文包含根元素,根元素包含其他元素:
- 4.1)元素可以有子元素,文本或两者皆有;
- 4.2)在设计XML文档时,最好要么包含子元素,要么包含文本,换句话说,你应该避免以下情况: (干货——设计XML文档时,最好要么包含子元素,要么包含文本)
<font>abcdefg<size>36</size>
</font>
- 4.3)XML元素可以包含属性,如
<size unit="pt">36</size>
你也可以使用:<font name="abcdefg" size="36"></font>
- 4.4)但是属性的灵活性要差一些, 比较以下荔枝:
<font name="ab" size="36 pt"/>
<font name="ab" size="36 pt"><name>abcdefg</name><size unit="pt">36</size>
</font>
- Attention)总之一句话,推荐使用元素而不是属性; (干货——推荐使用元素而不是属性)
5) 元素和文本是 XML 文档“主要的支撑元素”,你可能还会遇到其他一些标记: (干货——元素和文本是 XML 文档“主要的支撑元素”)
- 5.1)字符引用:它的形式是&# 十进制值;或 &#x 十六进制值; (干货——XML文档中的其他标记)
- 5.2)实体引用:如 <, >, &, ", &apos 分别表示 小于,大于u, &, 引号,省略号等;
5.3)CDATA部分(CDATA Section):用 < !CDATA[ 和 ]>来限定其界限。它们是字符数据的一种特殊形式。你可以使用它们来囊括那些含有 <, >, & 之类的字符串,而不必将它们解释为 标记;
- 5.3.1) CDATA 部分不能包含字符串 ]]>;
5.4)处理指令:是那些专门在处理XML 文档的应用程序中使用的指令,它们将用< ? 和 ?> 来限定其界限, 如
<?xml-stylesheet href="mystyle.css" type="text/css"?>
5.4.1)每个 XML 都以一个处理指令开头:
<?xml version="1.0"?>
5.5)注释(comment):用 < ! 和 – > 限定其界限, 注释不能含有 字符串 –;
XML——XML概述相关推荐
- MyBatis-02 MyBatis XML方式概述及配置步骤
概述 一个简单的权限控制需求 创建数据库表 创建实体类 XML方式概述及步骤 1. 首先在src/main/resources下com.artisan.mybatis.xml.mapper目录下创建5 ...
- ssis导入xml_SSIS包中的XML任务概述
ssis导入xml 介绍 (Introduction) We can use an SSIS package to perform various tasks such as data import, ...
- XML的概述,.Dom4解析和SAX解析
1.什么是XML XML 指可扩展标记语言(EXtensible Markup Language) html(hyper text markup langauge) XML 是一种标记语言,很类似 H ...
- XML - XML学习/XML文件解析器(C++)实现
XML - XML学习/XML文件解析器(C++)实现 XML概述 XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识.它也是元标记语言,用于定义其他与特定领域有关的, ...
- Android之CheckBox复选框控件使用inelayout.xml Xml代码
linelayout.xml Xml代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayo ...
- XML——XML Schema
[0]README 0.0)本文文字描述转自 core java volume 2 , 旨在理解 XML--XML Schema 的基础知识 :(本文不涉及源代码, 很遗憾,以后会补充) [1]XML ...
- XML – E4X概述
E4X 是正式的 JavaScript 标准,增加了对 XML 的直接支持.使用 E4X,可以用声明 Date 或 Array 对象变量的方式声明 XML 对象变量. E4X 向 JavaScript ...
- XML CDATA概述
XML 文档中的所有文本均会被解析器解析.只有 CDATA 区段中的文本会被解析器忽略. PCDATA - 被解析的字符数据 XML 解析器通常会解析 XML 文档中所有的文本. 当某个 XML 元素 ...
- XML 命名空间概述
在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突.XML 命名空间提供避免元素命名冲突的方法. 命名冲突 在 XML 中,元素名称是由开发者定义的,当两个 ...
最新文章
- hp远程桌面服务器,hp服务器通过ilo远程安装操作系统
- 2018.8.17提高B组模拟考试
- C# 动态执行批处理命令
- AOP切入点表达式 ——within表达式 、execution()表达式
- 请求getServiceTime出错
- oracle修改表字段约束条件,Oracle创建表、修改表、删除表、约束条件语法
- CMFCButton使用简介
- [CSS3] touch-action设置移动端拖动行为
- 轻量应用服务器支持带宽套餐升级至流量包套餐流程说明
- UVA344 UVALive5452 Roman Digititis【Ad Hoc】
- java arrays_Java的Arrays方法分析
- iphone手机删除的照片怎么恢复
- win10配置Android SDK环境变量
- 统计数据收集方式与收集方法
- 怎么用磁盘压缩卷新建分区
- mysql 取一条离当前时间最近的记录
- 按键精灵安卓版去除重复数组然后排序排序
- python实战扫码下载_Python实例 一 12306抢票(一)扫码登陆
- Python入门学习笔记
- 冯唐:我给20、30岁IT职场年轻人的建议
热门文章
- 【HNOI2019】白兔之舞【组合数学】【矩阵快速幂】【单位根反演】【Chirp Z-Transform】【原根】【MTT】
- Bigraph Extension
- cf1561D Up the Strip(D1D2)
- 牛客网 【每日一题】5月29日 管道取珠
- P3649-[APIO2014]回文串【PAM】
- 欢乐纪中A组赛【2019.8.23】
- POJ3889-Fractal Streets【分形,递归,分治】
- 【DP】Table(CF232B)
- 【前缀和】【DP】登机(jzoj 5535)
- Hadoop入门(十五)Mapreduce的数据排序程序