【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)实体引用:如 &lt, &gt, &amp, &quot, &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概述相关推荐

  1. MyBatis-02 MyBatis XML方式概述及配置步骤

    概述 一个简单的权限控制需求 创建数据库表 创建实体类 XML方式概述及步骤 1. 首先在src/main/resources下com.artisan.mybatis.xml.mapper目录下创建5 ...

  2. ssis导入xml_SSIS包中的XML任务概述

    ssis导入xml 介绍 (Introduction) We can use an SSIS package to perform various tasks such as data import, ...

  3. XML的概述,.Dom4解析和SAX解析

    1.什么是XML XML 指可扩展标记语言(EXtensible Markup Language) html(hyper text markup langauge) XML 是一种标记语言,很类似 H ...

  4. XML - XML学习/XML文件解析器(C++)实现

    XML - XML学习/XML文件解析器(C++)实现 XML概述 ​ XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识.它也是元标记语言,用于定义其他与特定领域有关的, ...

  5. Android之CheckBox复选框控件使用inelayout.xml Xml代码

    linelayout.xml Xml代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayo ...

  6. XML——XML Schema

    [0]README 0.0)本文文字描述转自 core java volume 2 , 旨在理解 XML--XML Schema 的基础知识 :(本文不涉及源代码, 很遗憾,以后会补充) [1]XML ...

  7. XML – E4X概述

    E4X 是正式的 JavaScript 标准,增加了对 XML 的直接支持.使用 E4X,可以用声明 Date 或 Array 对象变量的方式声明 XML 对象变量. E4X 向 JavaScript ...

  8. XML CDATA概述

    XML 文档中的所有文本均会被解析器解析.只有 CDATA 区段中的文本会被解析器忽略. PCDATA - 被解析的字符数据 XML 解析器通常会解析 XML 文档中所有的文本. 当某个 XML 元素 ...

  9. XML 命名空间概述

    在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突.XML 命名空间提供避免元素命名冲突的方法. 命名冲突 在 XML 中,元素名称是由开发者定义的,当两个 ...

最新文章

  1. hp远程桌面服务器,hp服务器通过ilo远程安装操作系统
  2. 2018.8.17提高B组模拟考试
  3. C# 动态执行批处理命令
  4. AOP切入点表达式 ——within表达式 、execution()表达式
  5. 请求getServiceTime出错
  6. oracle修改表字段约束条件,Oracle创建表、修改表、删除表、约束条件语法
  7. CMFCButton使用简介
  8. [CSS3] touch-action设置移动端拖动行为
  9. 轻量应用服务器支持带宽套餐升级至流量包套餐流程说明
  10. UVA344 UVALive5452 Roman Digititis【Ad Hoc】
  11. java arrays_Java的Arrays方法分析
  12. iphone手机删除的照片怎么恢复
  13. win10配置Android SDK环境变量
  14. 统计数据收集方式与收集方法
  15. 怎么用磁盘压缩卷新建分区
  16. mysql 取一条离当前时间最近的记录
  17. 按键精灵安卓版去除重复数组然后排序排序
  18. python实战扫码下载_Python实例 一 12306抢票(一)扫码登陆
  19. Python入门学习笔记
  20. 冯唐:我给20、30岁IT职场年轻人的建议

热门文章

  1. 【HNOI2019】白兔之舞【组合数学】【矩阵快速幂】【单位根反演】【Chirp Z-Transform】【原根】【MTT】
  2. Bigraph Extension
  3. cf1561D Up the Strip(D1D2)
  4. 牛客网 【每日一题】5月29日 管道取珠
  5. P3649-[APIO2014]回文串【PAM】
  6. 欢乐纪中A组赛【2019.8.23】
  7. POJ3889-Fractal Streets【分形,递归,分治】
  8. 【DP】Table(CF232B)
  9. 【前缀和】【DP】登机(jzoj 5535)
  10. Hadoop入门(十五)Mapreduce的数据排序程序