XML学习笔记(一)---概述及语法

XML概述

什么是XML

英文全称为eXtensible Markup Language,翻译过来为可扩展标记语言。XML技术是W3C组织发布的,目前遵循的是W3C组织于2000发布的XML1.0规范。

现实生活中存在着大量的数据,在这些数据之间往往存在一定的关系,我们希望能在计算机中保存和处理这些数据的同时能够保存和处理他们之间的关系。XML就是为了解决这样的需求而产生数据存储格式。

XML如何保存数据

  • 在XML语言允许用户自定义标签。每一个标签用于描述一段数据;
  • 一个标签可以分为开始标签和结束标签,在开始标签和结束标签之间又可以嵌套其它标签,利用标签间的嵌套关系来保存数据之间的上下级关系;
  • 由于xml实质上是一段字符串,计算机可以十分方便的对他进行操作,开发人员也可以方便的阅读,因此可以说这是一种对人、对计算机都友好的数据存储格式,所以XML迅速普及,成为了一种非常常见的数据存储格式,在许多应用场景中得到应用。

XML应用场景

  • XML本质上是一段字符串,具有跨平台性的特性,因此XML常被用来在不同系统之间进行数据交换。例如在安卓开发中,服务端与客户端之间的数据传输。
  • XML可以在保存数据的同时保存数据之间的关系。利用这一特点,它还经常用作应用程序配置文件来使用。

XML文件的校验

浏览器除了内置HTML解析其外还内置了XML解析器,因此可以使用浏览器对XML进行校验。
XML对格式要求比较严格,如果格式不对,那么在在浏览器中就校验失败,在网页上显示不出来任何数据。在开发人员工具的控制台选项卡中能找到错误说明。

XML语法

文档声明

用来声明xml的基本属性,用来指挥解析引擎如何去解析当前xml
通常一个xml都要包含并且只能包含一个文档声明
xml的文档必须在整个xml的最前面,在文档声明之前不能有任何内容

<?xml version="1.0"?>

version是必须存在的属性,表明当前xml所遵循规范的版本,目前位置都写1.0就可以了。

<?xml version="1.0"encoding="utf-8"?>

encoding用来只会解析引擎在解析xml时使用的编码,一定要保证xml格式的数据在保存时使用的编码和解析时使用的编码必须一致,才不会有乱码问题

`<?xml version="1.0" encoding="utf-8" standalone="yes"/>`

standalone属性用来指明当前xml是否是一个独立的xml,默认值是yes,表明当前文档不需要依赖于其他文档,如果当前文档依赖其他文档而存在则需要将此值设置为no。

元素

  • 一个xml标签就是一个元素
  • 一个标签分为开始标签和结束标签
  • 在开始标签和结束标签之间可以包含文本内容,这样的文本内容叫做标签体
  • 如果标签的开始标签和结束标签之间不包含标签体和子标签则可以将开始标签和结束标签进行合并,这样的标签就叫做自闭标签
  • 一个标签中也可以包含任意多个子标签,但是一定要注意标签一定要合理嵌套
  • 一个格式良好的xml要包含并且只能包含一个根标签,其他的标签都应该是这个标签的子孙标签

书写规则:

  • 区分大小写。
  • 不能以数字或标点符号或”_”开头。
  • 不能以xml(或XML、或Xml 等)开头。
  • 不能包含空格。
  • 名称中间不能包含冒号。

属性

一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:

<china capital="beijing"/>

属性的名在定义时要遵循和xml元素相同的命名规则
属性的值需要用双引号或单引号括起来

注释

<!-- 注释内容 -->
  • 注释可以出现在xml文档的任意位置除了整个文档的最前面.不能出现在文档声明之前
  • 注释不能嵌套注释

CDATA区/转义字符

<![CDATA[转义的内容]]>:

当XML中一段内容不希望被解析器解析时可以使用CDATA区将其包住
当解析器遇到CDATA区时会将其内容当作文本对待,不会进行解析

转义字符:

&  --> &amp;
<  --> &lt;  (less than)
>  --> &gt;  (greater than)
"  --> &quot;
'  --> &apos;

处理指令

处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。

<?xml-stylesheet type="text/css" href="1.css"?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇