XML基础
来源:互联网 发布:网络回路检测 编辑:程序博客网 时间:2024/06/15 16:51
简介
- xml原名extensible markup language,可扩展标记语言,类似html
- 设计目的是传输数据,html的目的则是显示数据
- xml的标签没有被预定义,需要自己定义标签
- 具有自我描述性,是w3c的推荐标准
与html的差异
- 不是html的替代,目的不一样
- xml的目的是传输和存储数据,焦点是数据的内容,html目的是用来显示数据,焦点是数据的外观
- html旨在显示信息,xml旨在传输信息
xml树结构
- 一个demo代码:
<?xml version="1.0" encoding="ISO-8859-1"?><note><to>George</to><from>John</from><heading>Reminder</heading><body>Don't forget the meeting!</body></note>
- 第一行是xml声明,是根元素,包含4个子元素,和html的格式有点类似
- xml文档会形成一种树结构,父元素拥有子元素
- 所有元素都有自己的文本内容和属性
xml语法规则
- xml所有元素必须都要有关闭标签
- 声明不属于xml本身的组成部分,不需要关闭标签
- xml标签对大小写敏感
- xml元素必须正确的嵌套
- 必须要有根元素
- xml也可以拥有属性,属性要加双引号
- 一个demo代码:
<note date="08/08/2008"><to>George</to><from>John</from></note>
- date是note标签的属性
- 实体引用:在xml中一些字符有特殊的含义,比如说>,<这种,使用时要用实体引用来代替,类似于转义符号。
< < 小于
> > 大于
& & 和号
' ’ 单引号
" ” 引号
- 一个demo例子,这里用<来代替小于符号
<message>if salary < 1000 then</message>
- xml的注释,一个demo例子:
<!-- This is a comment -->
- xml中的空格会被保存,文档中的空格不会被删节
xml元素
- xml元素是指从开始标签到结束标签的部分,包含标签自己
- 元素可以包含其他元素或者文本,元素也可以拥有属性
- 一个demo例子:
<bookstore><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开头
– 名称不能包含空格 - xml元素 vs 属性
- 一个demo代码:
<person sex="female"> <firstname>Anna</firstname> <lastname>Smith</lastname></person> <person> <sex>female</sex> <firstname>Anna</firstname> <lastname>Smith</lastname></person>
– 两个例子,sex在第一个是属性,第二个是子元素。两种格式都可以提供相同的信息,xml提倡的是尽量少用属性
使用属性可能会引起的一些问题
- 属性无法包含多重值
- 属性不能描述树结构
- 属性不容易扩展
- 属性难以阅读和维护
- 尽量使用元素来描述数据,仅仅使用属性来提供与数据无关的信息
针对元数据的xml属性
- 一个demo代码:
- 上面的id是一个标识符,标识不同的便签,并不是便签数据的组成部分
- 元数据(有关数据的数据)应该存储为属性,而数据本身应当存储为元素
结构良好的xml文档语法
- 必须有根元素
- 必须有关闭标签
- 标签对大小写敏感
- 元素必须被正确的嵌套
- 属性必须加引号
XMLHttpRequest对象
- 此对象用于在后台于服务器交换数据
- 在不重新加载页面的情况下更新网页
- 在页面已经加载后从服务器请求数据
- 在页面已经加载后从服务器接收数据
- 在后台向服务器发送数据
-通过一个javaScript语句就可以创建XMLHttpRequest对象:
xmlhttp = new XMLHttpRequest(); - 一个demo代码:
<script type="text/javascript">var xmlhttp;function loadXMLDoc(url){xmlhttp=null;if (window.XMLHttpRequest) {// code for all new browsers xmlhttp=new XMLHttpRequest(); }else if (window.ActiveXObject) {// code for IE5 and IE6 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }if (xmlhttp!=null) { xmlhttp.onreadystatechange=state_Change; xmlhttp.open("GET",url,true); xmlhttp.send(null); }else { alert("Your browser does not support XMLHTTP."); }}function state_Change(){if (xmlhttp.readyState==4) {// 4 = "loaded" if (xmlhttp.status==200) {// 200 = OK // ...our code here... } else { alert("Problem retrieving XML data"); } }}</script>
阅读全文
0 0
- XML基础
- XML基础
- XML基础
- XML基础
- xml基础
- XML基础
- xml 基础
- xml基础
- xml基础
- XML基础
- XML基础
- xml基础
- XML基础
- xml基础
- XML基础
- XML基础
- xml基础
- XML基础
- Flask系列教程(8)——Flask-Migrate
- 笔记2017.7.7
- No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
- hibernate 数据的三个状态
- Kotlin-操作符重载
- XML基础
- 列表
- Flask系列教程(9)——Flask-WTF
- PowerDesigner使用笔记
- 基于Nettty打造自己的MVC服务器
- 《Drools7.0.0.Final规则引擎教程》第3章 3.1 Hello World 实例
- IDEA Unable to open debugger port错误
- Retrofit--请求方法那些事儿
- Android触摸事件传递的简单理解