Q: 什么是XML,为什么学习XML?
A:XML为可扩展标记语言。
标签由开发者自己制定的(要按照一定的语法定义)
描述带关系的数据(作为软件的配置文件): 包含与被包含的关系
  properties文件: key-value
    name=123123
    password=97897684
  <user>
    <name>123123</name>
    <password>97897684</password>
  </user>
场景:
  tomcat
  struts Hibernate spring (三大框架)
作为数据的载体(存储数据,小型的“数据库”)
 
     用来处理如下图关系的数据的:
 

Q:这样的数据如何交给计算机处理呢?

A:XML语言出现的根本目标在于描述上图那种,在现实生活中经常出现的有关系的数据。

XML语言中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签,在开始标签和结束标签之间,又可以使用其它标签描述其它数据,此来实现数据关系的描述。

Tip:XML常见应用
XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。
在一个软件系统中,为提高系统的灵活性,它所启动的模块通常由其配置文件决定
例如一个软件在启动时,它需要启动A、B两个模块,而A、B这两个模块在启动时,又分别需要A1、A2和B1、B2模块的支持,为了准确描述这种关系,此时使用XML文件最为合适不过。

XML作用

描述带关系的数据(软件的配置文件)

XML语法
   XML文件后缀要以xml结尾
   XML文件要xml解析器解析
 
元素 
  对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。例如:下面两段内容的意义是不一样的。
  第一段:
    <网址>www.itcast.cn</网址>
  第二段:
    <网址>
       www.itcast.cn
    </网址>
  由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,使用换行和缩进等方式来让原文件中的内容清晰可读的“良好”书写习惯可能要被迫改变。
 
标签
   <aaa>aaaa</aaa>开始标签   标签体内容   结束标签
   <aaa/>或者<aaa></aaa> 空标签   无标签体内容
   标签严格区分大小写
   标签名要符合标识符规则(不能以数字开头,只有字母数字下划线)
  <Students>
   <!-- xml's comment  -->
   <_Student name="eric" id="001">student</_Student>
   <_Student name="jacky" id="002">student</_Student>
  </_Students>
  一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套 
      <a>welcome to <b>www.it315.org</a></b>
  格式良好的XML文档必须有且仅有一个根标签,其它标签都是这个根元素的子孙标签。
 
属性
  <_Student name="eric" id="001">student</_Student>
  一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:
    <input name=“text”>
  属性值一定要用双引号(")或单引号(')引起来
  定义属性必须遵循与标签相同的命名规范
  多学一招:在XML技术中,标签属性所代表的信息,也可以被改成用子元素的形式来描述,例如:
    <input>
        <name>text</name>
    </input>
注释
   Xml文件中的注释采用:“<!--注释-->” 格式。
  注意:
    XML声明之前不能有注释
    注释不能嵌套,例如:
       <!--大段注释
       ……
        <!--局部注释-->
       ……
       --> 
文档申明
  在编写XML文档时,需要先使用文档声明,声明XML文档的类型。
  最简单的声明语法:
   <?xml version="1.0" ?>
  用encoding属性说明文档的字符编码:
   <?xml version="1.0" encoding="GB2312" ?> 
  用standalone属性说明文档是否独立:
   <?xml version="1.0" encoding="GB2312"  standalone="yes" ?>
转义字符
   对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。
<?xml version="1.0" encoding="utf-8"?>
<codes>
<code>&lt;p&gt;段落&lt;/p&gt;</code>
<code>
<![CDATA[ <html><head>head</head><body>body</body></html>
]]>
</code>
</codes>

CDATA块
   在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。
  遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出。
  语法:<![CDATA[ 内容 ]]>
     <![CDATA[
        <itcast>
           <br/>
        </itcast>
      ]]>
 
处理指令

  处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
  例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。 <?xml-stylesheet type="text/css" href="1.css"?>
  处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。
 

Day 24:XML基础的更多相关文章

  1. 第一篇 -- XML基础

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

  2. .net学习笔记---xml基础知识

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

  3. XML 参考:XML基础 XML 简介

    XML 参考:XML基础 -- XML简介和用途 转:http://www.cnblogs.com/Dlonghow/archive/2009/01/22/1379799.html XML 参考:XM ...

  4. XML基础概念

    XML基础概念 一.什么是XML. 可扩展标记语言(EXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 二.XML特点 1 ...

  5. xml基础小结

    XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的“数据库” 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签 ...

  6. XML基础<第一篇>

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

  7. JavaEE XML 基础知识

    JavaEE XML 基础知识 @author ixenos 1.    XML开头都需要一个声明 <?和?>表明这是一个处理指令 <?xml version=”1.0” encod ...

  8. JavaWeb学习日记----XML基础

    1.XML基础: XML全称为eXtensible Markup Language;即可扩展标记型语言,同HTML一样使用标签来操作.它的可扩展性体现在标签可以由自己定义,可以是中文标签. XML用途 ...

  9. pom.xml基础配置

    pom.xml基础配置: maven中,最让我迷惑的还是那一堆配置! 就拿这个属性配置来说: 我需要让整个项目统一字符集编码,就需要设定 <project.build.sourceEncodin ...

  10. XML基础+Java解析XML +几种解析方式的性能比较

    XML基础+Java解析XML 一:XML基础 XML是什么: 可扩展的标记语言 XML能干什么: 描述数据.存储数据.传输(交换)数据. XML与HTML区别: 目的不一样 XML 被设计用来描述数 ...

随机推荐

  1. 南京江行智能获得百度和松禾资本的A+轮融资

    导读 据公司情报专家<财经涂鸦>消息,南京江行联加智能科技有限公司(江行智能)获得百度 和松禾资本的A+ 轮融资. 天眼查信息显示,12 月 8 日,公司工商信息发生变更,股东新增了广州百 ...

  2. Systemverilog for design 笔记(七)

    转载请标明出处 第一章 接口(interface) 1.1.    接口的概念 接口允许许多信号合成一组由一个端口表示. 1.2.    接口声明 //接口定义 Interface main_bus ...

  3. 远程登陆ubantu服务器 .bashrc文件每次打开终端都需要source的问题

    通过创建的用户登录ubantu服务器时,.bashrc文件每次都要重新配置,要不然里面的配置如命令的简写如 ll 等就无法识别,本方法用于实现登录时自动执行.bashrc文件. 1.ubantu启动时 ...

  4. express框架安装及中间件原理

    本文主要介绍express中间件的原理,来应对面试. 1.安装express及初始化: npm install express-generator -g   =>   express expre ...

  5. 中山Day10——普及

    今天又是愚蠢的一天,估分230,实得110.其中T2.4不会,这里就只说题意和简要思路. 收获:scanf>>a,以及printf<<a. T1:模板题 此题相对简单,就是读入 ...

  6. mysql定时删除当前时间前分钟的数据

    mysql定时删除当前时间前分钟的数据 2013-01-31      0个评论       作者:上官车月 收藏    我要投稿 mysql定时删除当前时间前分钟的数据   Sql代码  www.2 ...

  7. P1095 解码PAT准考证

    1095 解码PAT准考证 (25分)   PAT 准考证号由 4 部分组成: 第 1 位是级别,即 T 代表顶级:A 代表甲级:B 代表乙级: 第 2~4 位是考场编号,范围从 101 到 999: ...

  8. GoJS组织结构图2

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. 086、Java数组之对象数组的动态初始化

    01.代码如下: package TIANPAN; class Book { private String title; private double price; public Book(Strin ...

  10. ThreadLocal的原理和在框架中的应用

    ThreadLocal的原理和在框架中的应用 博客分类: java基础 框架多线程SpringthreadDAO  概述      我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久 ...