什么是XML?
xml是可扩展标记语言(Extensible Markup Language)
xml是一种标记语言,类似于HTML
xml的设计宗旨是传输数据,而非显示数据
标签没有被预定义。需要自定义标签
W3C推荐(XHTML)
XML语法
文件以XML后缀结尾,XML文件需要使用XML解析器去解析,浏览器内置了XML解析器
标签
<student> //开始标签,
<name>码卡吧卡</name>
</student> //结束标签,xml严格区分大小写
<开始标签>这里是内容</开始标签>
//有开始有结尾
//标签名不能使用空格,不能用数字开头
//有且只有一个根标签,一个xml文档有且只有一个根标签,根标签下的子标签
<student name="hl">
<name>唔西迪喜</name>
</student>
<student name="hl">
<name>汤波利波</name>
</student>
属性
<student name="hl"> //属性值必须用引号(可以单引号,可以双引号,不能单双引号混用),html属性值可以不用引号,一个 标签内可以出现多个属性名,但是不能出现相同的属性名
<name>玛卡巴卡</name>
</student>
注释
<student name="hl">
<name>玛卡巴卡</name>
<student name="hl">
<name>玛卡巴卡</name>
</student>
</student>
返回XML对象(返回大批量的商品信息,比如2万条商品数据,但是基本被JSON取代)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<h1></h1>
<script type="text/javascript">
window.onload = function(){
var oTxt = document.getElementsByTagName("h1")[0];
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if(this.readyState == 4){
oTxt.innerHTML = this.responseXML.getElementsByTagName("nickname")[1].innerHTML;
}
}
xhr.open("get","01.php",true);
xhr.send(null);
}
</script>
</body>
</html>
<?php
header('Content-type: text/xml');//告诉浏览器这个是xml文件,Content-Type: text/xml;charset=UTF-8
?>
<?xml version="1.0" encoding="utf-8"?>
<web>
<student>
<name>拳打</name>
<nickname>杠精</nickname>
</student>
<student>
<name>脚踢</name>
<nickname>键盘侠</nickname>
</student>
</web>
其实数据都是一样的,不同的只是数据的格式而已,同样的数据,我用xml格式传给你,你用xml格式解析出三个数据,用json格式传给你,你就用json格式解析出三个数据,还可以我本地保存的是xml格式的数据,我自己先解析出三个数据,然后构造成json格式传给你,你解析json格式,获得三个数据,再自己构造成xml格式保存起来,说白了,不管是xml还是json,都只是包装数据的不同格式而已,重要的是其中含有的数据,而不是包装的格式!