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. SD-WAN基本介绍

    SD-WAN是什么? SD-WAN,即软件定义广域网络,是将SDN技术应用到广域网场景中所形成的一种服务.这种服务用于连接广阔地理范围的企业网络.数据中心.互联网应用及云服务,旨在帮助用户降低广域网的 ...

  2. RadioButton 用法

    @Html.RadioButton("rdoNotice", "1ST", true, new { id = "rdoFirstNotice" ...

  3. 一定要熟练地使用常用的Foundation服务

    关于本文:作为一名iOS软件工程师,熟练的使用系统提供的强大的Foundation服务是必备的职业素养. NSString.NSMutableString NSArray.NSMutableStrin ...

  4. App在iTunes Store上的地址

    之前可以在电脑上的iTunes上直接搜索到适用于iPhone.iPad的App,进而下载ipa或者复制它的URL. 记得从2017年3月开始就没有这个功能了. ==================== ...

  5. [Database] MAC MySQL中文乱码问题

    1 确保数据库编码设置, 可修改my.cnf mysql> show variables like '%character%'; +--------------------------+---- ...

  6. PIL pip error

    结果显示: 提示——Could not find a version that satisfies the requirement PIL (from versions: )No matching d ...

  7. Android 获取当前日期距离过期时间的日期差值的完整方法直接使用

    /*** * 获取当前日期距离过期时间的日期差值 * @param endTime * @return */public String dateDiff(String endTime) { Strin ...

  8. video-player

    1. VLC 2. MPlayer 3. FFmpeg 4. 显示媒体信息 5. 视频播放器软件比较 1. VLC https://www.videolan.org/vlc/ https://en.w ...

  9. 【MAVEN】maven项目下载更新pom jar包速度慢 解决方案

    1·下载安装 最新版本的maven https://maven.apache.org/download.cgi 2·速度慢的主要原因是因为默认setting.xml里配置的国外的 maven 数据源 ...

  10. canvas的其他应用

    画布的基础知识 专门研究画布的大佬 手动实现echar的大佬 echar官方 画布之水印 ctx.font = "bold 20px Arial"; ctx.lineWidth = ...