XML概述
Posted 国土飞扬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML概述相关的知识,希望对你有一定的参考价值。
一、什么是XML?
XML为可扩展的标记语言(extensible markup language)
Xml是一种标记语言,很类似html
Xml的设计宗旨是传输数据,而非显示数据
Xml标签没有预定义,需要自行定义
二、Xml能做什么?
Xml应用于web开发的很多方面,常用于简化数据的存储和共享
Xml把数据从html分离
Xml简化数据共享(以纯文本格式进行存储,这让不同应用程序可以共享的数据变得更加容易)
Xml简化数据传输(可以通过各种不兼容的应用程序来读取数据)
Xml简化平台变更
Xml使数据更有用(不同的应用程序都能够访问数据)
Xml可以创建新的互联网语言:xhtml,wsdl,wap,rss…
三、XML的工具
HTML的编辑工具: dw,vs,记事本,editplus,emeditor
XML的使用工具:IE
四、XML树结构
XML文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。
树结构是通过被称为XML树,并且可以很容易的描述任何XML文档。
一个XML文档实例
Xml文档使用简单的具有自我描述性的语法:
<?xml version="1.0" encoding="utf-8"?> <note> <to>lily</to> <from>lucy</from> <heading>提醒</heading> <body>这个周末不要忘记约我哟!</body> </note> |
代码解析:
第一行是xml声明,它定义xml的版本和所用的编码
第二行表示文档的根元素(像在说:本文档是一个便签)
接下来的四行描述的4个子元素(to,from,heading,body)
最后一行定义根元素的结尾
可以假设,在这个实例中,XML包含了一个lily写给lucy的便签。
Xml文档必须包含根元素。该元素是所有其他元素的父元素,这棵树从根部开始,并扩展到树的最底端。所有的元素都可以有子元素。所有的元素都可以有文本的内容和属性(类似于HTML)
下面的XML代码表示一本书
<bookstore> <book category="COOKING"> <title>Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title>Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> |
标记/元素、属性、文本
上述文档的结构:
五、XML语法规则
a) 所有的XML元素都必须有一个关闭标签
(注意,XML文档第一行声明部分,没有关闭标签)
b) XML标签对大小写敏感
c) Xml必须正确的嵌套
<b><i>这里的文档是粗斜体</i></b>
d) Xml文档必须有根元素
e) Xml属性值必须加引号
<note date=”2017/8/8”></note>
f) 实体引用
在xml中,一些字符拥有特殊的意义,如果把字符<放在xml元素中,会发生错误,因为解析器会把它当作新元素的开始
<message>2<3</message>
为了避免这个错误,需要用实体引用来代替<字符
在XML中,有5个预定义的实体引用
< < 小于号
> > 大于号
& & &号
' ‘ 单引号
" “ 双引号
g) Xml中的注释
Xml注释与HTML类似<!-- -->
六、XML元素
XML元素是XML文档中必不可缺的部分,我们可以将XML元素看成一个容器,其中存放了文本、元素、属性等。每个XML文档包含一个或多个元素。
1、 什么是XML元素?
Xml元素是指从开始标签直到结束标签的部分
一个元素可以包含其他元素、文本、属性、或混合以上所有
示例:
<bookstore> <book category=”computer”> <title>网页三剑客</title> <author>well smith</author> <price>69</price> </book> </bookstore> |
在以上示例中,bookstore和book都有元素内容,因为他们包含其他元素,book元素也有属性,title,author和price有文本内容
2、 Xml命名规则
² 元素名称可以包含字母、数字以及其他字符
² 名称不能以数字或标点符号开始
² 不能以字母xml开始
² 名称不能包含空格
七、XML属性
属性是XML元素的一部分。一个元素可以有多个独特的属性,属性提供了有关XML元素的详细信息,xml属性始终是名称值对。
在HTML中,属性提供有关元素的额外信息:
例如:<img src=”a.gif” > <a href=”demo.html”></a>
Xml属性必须加双引号
在很多情况下,元素和属性是可以互相转换的,比如写一个XML表示学生信息可以像下面这样写:
<student> <stuid>1</stuid> <stuname>张三</stuname> <stuage>18</stuage> </student> |
<student stuid=”1”> <stuname> 张三 </stuname> <stuage>18</stuage> </stuent>
|
<student stuid=”1” stuname=”张三” stuage=”18”> |
其实,没有什么规矩可以告诉我们什么时候该使用属性,什么时候该使用元素。
经验告诉我们,在HTML中属性用起来很便利,但是在XML中,应该尽量避免使用属性。因为使用属性可能会引发下列问题:
² 属性不能包含多个值(元素可以)
² 属性不能包含树结构(元素可以)
² 属性不容易扩展(为未来的变化)
八、 XML中使用CSS
XML有效的分离数据的组织结构和显示外观,即不将显示外观和其中的标记直接进行关联,因此浏览器不能直接显示XML文件中的标记内容。如果需要浏览器显示XML文件中标记的内容,就必须以某种方式告诉浏览器如何显示,例如使用CSS。
1. 创建XML
<?xmlversion="1.0"encoding="utf-8"?> <class> <student > <name>小白</name> <age>18</age> </student> <student > <name>小白</name> <age>18</age> </student> </class> |
2. 创建CSS,写入样式
room{display:block; width:200px; height:200px; border:1px solid; } name{display:inline; color:Red; font-size:xx-large; font-style:italic} |
3. 将css文件引入到XML中
在XML文件中加入:
<?xml-stylesheethref="StyleSheet1.css"type="text/css" ?>
综合练习
写一个xml表示一个选择题,包含题号、题目、选项A、选项B、选项C、选项D、正确答案
写一个XML表示一个公司的组织架构(二选一)
以上是关于XML概述的主要内容,如果未能解决你的问题,请参考以下文章