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. Spring注解@Qualifier、@Autowired、@Primary

    @Qualifier 1.当一个接口有多个实现类,且均已注入到Spring容器中了,使用@AutoWired是byType的,而这些实现类类型都相同,此时就需要使用@Qualifier明确指定使用那个 ...

  2. 二、linux基础-路径和目录_用户管理_组_权限

    2.1路径和目录1.相对路径:参照当前目录进行查找.   如:[root@localhost ~]# cd ../opt/hosts/备注:相对路径是从你的当前目录开始为基点,去寻找另外一个目录(或者 ...

  3. YUV颜色编码格式

    YUV 颜色编码采用的是 明亮度 和 色度 来指定像素的颜色,而色度又定义了颜色的两个方面:色调和饱和度. 其中: Y 表示明亮度(Luminance.Luma) U 和 V 表示色度(Chromin ...

  4. [python]ubuntu下的python2和python3

    在终端分别输入python,python2,python3python和python2默认都是python2python3才是python3 Ubuntu下是默认没有pip的,需要自己手动安装 sud ...

  5. Python入门之元组

    一.什么是元祖 元祖是不可变类型(列表是可变类型) 为什么要设计元祖这样不可变类型?因为一旦创建了不可变类型的对象,对象内部的所有数据就不能被修改了,这样避免了 由于修改数据导致的错误.此外,对于不可 ...

  6. 对简易网页版注册系统的制作(连接MySQL数据库)

    一.基本需求 二.设计思路: 1.首先创建一个与数据库数据属性对应的类User,并添加get和set方法. 2.之后建立另一个类UserDao用于生成一条完整的数据对象. 3.再建立一个类DButil ...

  7. VNC怎么和宿主机共享粘贴板

    VNC怎么和宿主机共享粘贴板 假设目标主机是linux,终端主机是windows(就是在windows上使用VNC登陆linux) 在linux中执行vncconfig -nowin& 在li ...

  8. HDU 5524:Subtrees

    Subtrees  Accepts: 60  Submissions: 170  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 13107 ...

  9. JS echarts统计

    柱状图 function drawbarFunc(xs, ys) { //var xs1 = []; //var ys1 = []; require.config({ paths: { echarts ...

  10. 33 第一个只出现一次的字符+ASCII码

    题目描述 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 思路:使用一个hashmap遍历一遍,统计每个字符出现的次数,然后再统 ...