一脚踩进java之xml01——基础语法

一、XML简介

1.1 什么是XML?

  1)XML是指可扩展标记语言(eXtensible Markup Language),它是一种标记语言,很类似HTML。它被设计的宗旨是传输数据,而非显示数据。
  2)XML标签没有被预定义,需要用户自行定义标签。
  3)XML技术是W3C组织(World Wide Web Consortium万维网联盟)发布的,目前遵循的是W3C组织于2000年发布的XML1.0规范。
  4)XML被广泛认为是继Java之后在Internet上最激动人心的新技术。

1.2 XML技术用于解决什么问题?

  1) 在现实生活中存在大量有关系的数据,如下图所示。

  

  2)问题:这样的数据该如何表示并交给计算机处理呢?

  ①XML语言出现的根本目的在于描述向上图那种有关系的数据。
  ②XML是一种通用的数据交换格式。
  ③在XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签,在起始标签之间,又可以使用其它标签描述其它数据,以此来实现数据关系的描述。

  ④XML中的数据必须通过软件程序来解析执行或显示,如IE;这样的解析程序称之为Parser(解析器)。

1.3 XML常见应用

  1)XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。(如后面将要学习到的Struts、Spring和Hibernate都是基于XML作为配置文件的)
  2)在一个软件系统中,通过XML配置文件可以提高系统的灵活性。即程序的行为是通过XML文件来配置的,而不是硬编码。
  3)数据交换:不同语言之间用来交换数据

 二、XML语法

2.1 一个XML文件分为如下几部分内容:
  文档声明
  元素
  属性
  注释
  CDATA区 、特殊字符
  处理指令(PI:Processing Instruction)

2.2 文档声明

  1)在编写XML文档时,需要先使用文档声明来声明XML文档。且必须出现在文档的第一行。并且必须指定
  2)最简单的语法:<?xml version=“1.0”?>
  3)用encoding属性说明文档所使用的字符编码。保存在磁盘上的文件编码要与声明的编码一致。如:<?xml version=“1.0” encoding=“GB2312”?>
  4)用standalone属性说明文档是否独立,即是否依赖其他文档。
  如:<?xml version=“1.0” standalone=“yes”?>
  yes不用引入外部的文件,no需要引入。(不常用)

2.3 XML元素

  1)XML元素指XML文件中出现的标签。一个标签分为起始和结束标签(不能省略)。一个标签有如下几种书写形式:
    包含标签主体:<mytag>some content</mytag>
    不含标签主体:<mytag/>
  2)一个标签中可以嵌套若干子标签,但所有标签必须合理的嵌套,不允许有交叉嵌套。
    <mytag1><mytag2></mytag1></mytag2> WRONG
  3)一个XML文档必须有且仅有一个根标签,其他标签都是这个根标签的子标签或孙标签。

     4)对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。

  5)一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
    ①区分大小写,例如,<P>和<p>是两个不同的标记。
    ②不能以数字或“-” (中划线)开头。
    ③不能以xml(或XML、或Xml 等)开头。
    ④不能包含空格。
    ⑤名称中间不能包含冒号(:)。

2.4 XML属性

  1)一个元素可以有多个属性,每个属性都有它自己的名称和取值,例如:<mytag name=“value” …/>
  2)属性值一定要用引号(单引号或双引号)引起来。
  3)属性名称的命名规范与元素的命名规范相同
  4)元素中的属性是不允许重复的
  5)在XML技术中,标签属性所代表的信息也可以被改成用子元素的形式来描述,例如:

  <mytag>
    <name>
      <firstName/>
      <lastName/>
    </name>
  </mytag>

2.5 注释

  1)XML中的注释语法为:<!--这是注释-->
  2)注意:
    ①XML声明之前不能有注释
    ②注释不能嵌套,例如:

    <!--大段注释
    …
      <!--有一段注释-->
    …
    -->

2.6 转义字符

  1)对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。

  

 2.7 CDATA区

  1)CDATA是Character Data的缩写
  2)作用:把标签当做普通文本内容;
  3)语法:<![CDATA[内容]]> 

  <![CDATA[
    if(age > 50){
      <name> 大于50的人 <name>
    }
  ]]>

原文地址:https://www.cnblogs.com/smilehq/p/12589430.html