先附上一张XML 大概图:详解见博客内容。

一、定义

XML(EXtensible Markup Language) :可扩展标记语言。

设计的用途:用来描述,存储,传输数据信息。

二、特色

1、单纯的XML只具有描述性作用。

XML被设计用来结构化、存储以及传输信息,看这个例子:

下面是wyx 写给john 的email,存储为 XML:

<email>

<to>john</to>

<from>wyx</from>

<heading>greeting</heading>

<body>hello,you are a good man!</body>

</email>

上面的这条便签具有自我描述性。它拥有标题以及内容,同时包含了发送者和接受者的信息。

但是,这个XML 文档仍然没有做任何事情。它仅仅是包装在 XML 标签中的纯粹的信息。

需要编写软件或者程序,才能传送、接收和显示出这个文档。

2、与Html不同

同:都是标记语言

不同:

用途不同

htmL:关注数据的显示。

Xml :关注的是数据内容,用来传输,包含数据。

标签

HTML:预定义的标签

XML:自行定义标签。

上例中的标签没有在任何XML 标准中定义过的标签,比如 <to> 和 <from>。这些标签是由编写者自己发明的哦!

在HTML 中使用的标签(以及 HTML 的结构)是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签(比如 <p>、<h1> 等等)。XML 允许创作者定义自己的标签和自己的文档结构。

3、与数据库不同

数据库:存储数据,且强大的分析数据能力

XML:只是存储数据

三、用途:(跨平台)

为什么会出现XML?

答:XML 把数据从 HTML 分离

如果你需要在HTML 文档中显示动态数据,那么每当数据改变时将花费大量的时间来编辑 HTML。

通过XML,数据能够存储在独立的 XML 文件中。这样你就可以专注于使用 HTML 进行布局和显示,并确保修改底层数据不再需要对 HTML 进行任何的改变。

通过使用几行JavaScript,你就可以读取一个外部 XML 文件,然后更新 HTML 中的数据内容。

围绕这个核心,XML运用到一下方面,而且在发展的过程中,完善和增加了更多功能。

作为系统的配置文件

传输数据Web Services ,Ajax.

异构平台的数据交换与整合。

四、语法

1、大多数以 XML声明开始

例:<? Xml version="1.0" encoding="utf-8">

Encoding :字符编码方式。——跟保存形式有关

2、结构

格式良好的XML。

拥有正确语法的XML

通过DTD验证的XML是“合法”的XML

遵循:

必须要根元素,只有一个。必须有

必须有开始,关闭标签

标记对大小写敏感

必须被正确的嵌套

属性的值必须加引号

树状结构

上图表示下面的XML 中的一本书:

<bookstore>

<bookcategory="COOKING">

<title lang="en">EverydayItalian</title>

<author>Giada DeLaurentiis</author>

<year>2005</year>

<price>30.00</price>

</book>

<bookcategory="CHILDREN">

<title lang="en">HarryPotter</title>

<author>J K. Rowling</author>

<year>2005</year>

<price>29.99</price>

</book>

<bookcategory="WEB">

<title lang="en">LearningXML</title>

<author>Erik T. Ray</author>

<year>2003</year>

<price>39.95</price>

</book>

</bookstore>

3、实体引用:——为了解决编写一些特殊字符的方法。

4、属性

必须有值。引号要一直(单,双)

5、CDATA与注释。

CDATA:<![CDATA[文本内容]]>

注释:<!--注释内容-->

五、处理指示(PI=processinginstruction)

指示当前的XML文件的内容,如何被显示或者处理。

语法:<?target arg*?>   <?target value?>

一个Xml文档可以包含多个针对不同应用程序的处理指令。处理指令由两部分组成,target和value。target的角色类似于“名称”,紧随target之后的字符串就是value,value可以包含多个标记。

例子:使用XSLT处理当前的XML文件实例

<?xml-stylesheet type="text/xsl"href="book.xsl"?>

XML 简单介绍的更多相关文章

  1. XML简单介绍及举例

    可扩展标记语言(eXtensibleMarkup Language,简称XML).是一种标记语言.标记指计算机所能理解的信息符号.通过此种标记,计算机之间能够处理包括各种信息的文章等. 怎样定义这些标 ...

  2. 四、testNG.xml 简单介绍

    TestNG定义了一套非常具体的术语描述测试. testng.xml testng.xml是一个以XML记录所有测试的文件.可以利用这个文件,跑同一个类或者多个不同类里面的测试用例. testng.x ...

  3. xml简单介绍及libmxml编程

    今天我们来简单介绍一下,关于xml的一些内容,包括自己编写一些程序进行生成和解析. 首先我们我们还是从xml的演化历史来了解一下它吧. 历史演化 GML: 在20世纪60年代为了促进数据交换和操作,通 ...

  4. XML学习总结(2)——XML简单介绍

    一.XML概念 Extensible Markup Language,翻译过来为可扩展标记语言.Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发布的XML1.0规范. 二.学习XM ...

  5. 1.xml简单介绍

    1.xml(eXtensible Markup Language)的简介 (1)xml: 可扩展标记型语言 - 标记型语言:例如html也是标记型语言,也是使用标签来操作的 - 可扩展:html里面的 ...

  6. XML简单介绍

    什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language). XML 是一种很像HTML的标记语言. XML 的设计宗旨是传输数据,而不是显示数据. XML 标 ...

  7. 安卓开发-使用XML菜单布局简单介绍

    使用xml布局菜单   目前为止我们都是通过硬编码来增加菜单项的,android为此提供了一种更便利的方式,就是把menu也定义为应用程序的资源,通过android对资源的本地支持,使我们可以更方便地 ...

  8. FOR XML PATH 简单介绍

    FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...

  9. Java Web中web.xml文件简单介绍

    参考博客: https://www.cnblogs.com/Y-oung/p/8401549.html 1.XML 声明和根元素 <?xml version="1.0" en ...

随机推荐

  1. SGU 206. Roads

    206. Roads time limit per test: 0.5 sec. memory limit per test: 65536 KB input: standard output: sta ...

  2. day4 二维数组旋转90度

    二维数组的旋转其实就是数组里面的元素对调的情况:下面有一个4×4的二维数组,[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]],现在要求把 ...

  3. hadoop环境安装及错误总结

    历时N天的hadoop环境,终于配好了 主要参考 Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS 1.开机默认进入字符界面或者是图形界面:http://blog.cs ...

  4. c++ primer 9 顺序容器

    定义: #include <vector> #include <list> #include <deque> vector<int> svec; lis ...

  5. Ubuntu下Node.js开发起步之旅

    因为忙其它的事,把Node.js的学习放下了快两个月了,世事变化还真快,发现很多东东都改变了,express已经升级到4.x了,变化还不小! 我原来的学习过程是在VirtualBox中安装Ubuntu ...

  6. Educational Codeforces Round 45 (Rated for Div. 2) F - Flow Control

    F - Flow Control 给你一个有向图,要求你给每条边设置流量,使得所有点的流量符合题目给出的要求. 思路:只有在所有点的流量和为0时有解,因为增加一条边的值不会改变所有点的总流量和, 所以 ...

  7. 20179202《Linux内核原理与分析》第一周作业

    实验一 Linux 系统简介 这一节主要学习了Linux的历史,重要人物以及学习Linux的方法.Linux和Windows在是否收费.软件与支持.安全性.可定制性和应用范畴等方面都存在着区别.目前感 ...

  8. Android之 内容提供器(1)——使用内容提供器访问其它程序共享的数据

    (下面内容是阅读郭霖大神的<第一行代码>总结的) 1 概述 内容提供器是Android实现跨程序共享数据的标准方式. 内容提供器的的使用方法有两种, 一是使用已有的内容提供器对其他程序的数 ...

  9. 浅谈MVVM模式和MVP模式——Vue.js向

    浅谈MVVM模式和MVP模式--Vue.js向 传统前端开发的MVP模式 MVP开发模式的理解过程 首先代码分为三层: model层(数据层), presenter层(控制层/业务逻辑相关) view ...

  10. React Native 系列(五)

    前言 本系列是基于React Native版本号0.44.3写的.任何一款 App 都有界面之间数据传递的这个步骤的,那么在RN中,组件间是怎么传值的呢?这篇文章将介绍到顺传.逆传已经通过通知传值. ...