XML 简单介绍
先附上一张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 简单介绍的更多相关文章
- XML简单介绍及举例
可扩展标记语言(eXtensibleMarkup Language,简称XML).是一种标记语言.标记指计算机所能理解的信息符号.通过此种标记,计算机之间能够处理包括各种信息的文章等. 怎样定义这些标 ...
- 四、testNG.xml 简单介绍
TestNG定义了一套非常具体的术语描述测试. testng.xml testng.xml是一个以XML记录所有测试的文件.可以利用这个文件,跑同一个类或者多个不同类里面的测试用例. testng.x ...
- xml简单介绍及libmxml编程
今天我们来简单介绍一下,关于xml的一些内容,包括自己编写一些程序进行生成和解析. 首先我们我们还是从xml的演化历史来了解一下它吧. 历史演化 GML: 在20世纪60年代为了促进数据交换和操作,通 ...
- XML学习总结(2)——XML简单介绍
一.XML概念 Extensible Markup Language,翻译过来为可扩展标记语言.Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发布的XML1.0规范. 二.学习XM ...
- 1.xml简单介绍
1.xml(eXtensible Markup Language)的简介 (1)xml: 可扩展标记型语言 - 标记型语言:例如html也是标记型语言,也是使用标签来操作的 - 可扩展:html里面的 ...
- XML简单介绍
什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language). XML 是一种很像HTML的标记语言. XML 的设计宗旨是传输数据,而不是显示数据. XML 标 ...
- 安卓开发-使用XML菜单布局简单介绍
使用xml布局菜单 目前为止我们都是通过硬编码来增加菜单项的,android为此提供了一种更便利的方式,就是把menu也定义为应用程序的资源,通过android对资源的本地支持,使我们可以更方便地 ...
- FOR XML PATH 简单介绍
FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主 ...
- Java Web中web.xml文件简单介绍
参考博客: https://www.cnblogs.com/Y-oung/p/8401549.html 1.XML 声明和根元素 <?xml version="1.0" en ...
随机推荐
- python快速教程-vamei
2016年10月26日 12:00:53 今天开始着手python的学习,希望能高效快速的学完! Python基础(上)... 7 实验简介... 7 一.实验说明... 8 1. 环境登录... 8 ...
- 【LOJ】#2351. 「JOI 2017/2018 决赛」毒蛇越狱
题解 没啥特别好的算法,是个讨论题,由于0 1 ?三类数位中最少的不会超过6 如果1不超过6,那么记录\(f1(S)\)为 \(\sum_{T \subset S} val(T)\)这个可以通过类似F ...
- Java 中的值传递和引用传递问题
Java 中的值传递和引用传递问题 public class Operation { int data = 50; void change(int data) { data = data + 100; ...
- python网页下载
python 2.7版本下可以运行 import urllib2 def getHtml(url): response = None requset = None headers = {'User-A ...
- Sublime 编译运行JavaScript
Tools > Build System > New Build System... { "cmd": ["node", "$file&q ...
- springMVC接受对象集合,name数组
这两天开发遇到一个很常见的问题,即使自己一直没遇见过,不过之前看过是实现接受对象集合的代码,只不过没注意罢了 推荐一篇文章 直接贴代码吧 public class Person { private S ...
- JSON与Javabean转换的几种形式
JSON格式的数据传递是最常用的方法之一,以下列出了常用的几种形态以及与Javabean之间的转换: String json1="{'name':'zhangsan','age':23,'i ...
- POJ3687 Katu Puzzle
好好写2-sat 如果a1-->b1矛盾则连边a1-->b2和b1-->a2 我定了一个ccnt和cnt变量,结果少打一个c,wa了好多次(lll¬ω¬) By:大奕哥 #inclu ...
- 2017-2018-1 JAVA实验站 冲刺 day03
2017-2018-1 JAVA实验站 冲刺 day03 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 写博客.进行工作总结 100% 齐力锋 部分按钮图片.对按钮图片进行ps 100 ...
- 求n的阶乘 (python实现)
描述 给定一个数n,范围为0≤n≤100,请你编程精确的求出n的阶乘n!. 输入 输入数据有多行,每行一个整数n,当n<0时输入结束. 输出 输出n的阶乘. 样例输入 1234-1 样例输出 1 ...