XML详解
1.什么是XML
XML 指可扩展标记语言(EXtensible Markup Language)
xml的标记没有被预定义过,需要自定义
xml的宗旨是做数据传递,而非显示数据
2.XML的语法
1.XML的顶端是XML的声明
XML可以独立保存为 .xml的文件,也可以以字符串的类型出现
<?xml version="1.0" encoding="utf-8"?>
2.XML标记的语法
1.XML的标记必须成对出现
<person></person>
2.XML严格区分大小写,开始和结束必须一致
3.XML的标记允许被嵌套,但是要注意嵌套顺序将
<person>
<name>
<FirstName></FirstName>
<LastName></LastName>
</name>
</person>
4.每个表姐都可以自定义属性,格式与html一直,但是属性值必须用""括起来
<person no="001"></person>
5.每个XML都要有一个根元素
<?xml version="1.0" encoding="UTF-8"?>
<studentList>
<student1>
<name>小罗</name>
<age>20</age>
<gender>男</gender>
</student1>
<student2>
<name>小永</name>
<age>21</age>
<gender>男</gender>
</student2>
<student3>
<name>小浩</name>
<age>20</age>
<gender>男</gender>
</student3>
</studentList>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="button" value="click" onclick="getxml()">
<script>
function createXhr() {
var xhr=window.XMLHttpRequest? new window.XMLHttpRequest():ActiveXObject("microsoftXMLHttp");
return xhr
}
function getxml() {
var xhr=createXhr()
xhr.open("get","../demo.xml",true)
xhr.onreadystatechange=function () {
if(xhr.readyState==4&&xhr.status==200) {
var res = xhr.responseXML;
console.log(res)
}
}
xhr.send(null)
}
</script>
</body>
</html>
3.解析XML文档对象的内容
1.方法
elem.getElementsByTagName("XML标签的名称")
返回值:返回一个包含指定元素们的“类数组”(可以用for循环遍历,可以使用下标获取值)
ex:var xmlDoc=xhr.responseXML
var student1= xmlDoc.getElementsByTagName("student1")
获取其中的name值
student1[0].getElementsByTagName("name")[0].innerHTML
4.在PHP中返回XML格式的字符串
1.必须增加响应的消息头
header("Content-Type:application/xml")
2.按照XML的语法结构,拼接XML字符串,再响应前端
<?php
/**
* Created by PhpStorm.
* User: Bohn
* Date: 2018/8/25
* Time: 21:02
*/
header("Content-Type:application/xml");
$xml="<?xml version='1.0' encoding='utf-8'?>";
$xml.="<studentList>
<student>
<name>小罗</name>
<age>20</age>
<gender>男</gender>
</student>
<student>
<name>小永</name>
<age>21</age>
<gender>男</gender>
</student>
<student3>
<name>小浩</name>
<age>20</age>
<gender>男</gender>
</student3>
</studentList>";
echo "$xml";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="button" value="click" onclick="getxml()">
<script>
function createXhr() {
var xhr=window.XMLHttpRequest? new window.XMLHttpRequest():ActiveXObject("microsoftXMLHttp");
return xhr
}
function getxml() {
var xhr=createXhr()
xhr.open("get","php/demo11.php",true)
xhr.onreadystatechange=function () {
if(xhr.readyState==4&&xhr.status==200) {
var res = xhr.responseXML;
var student=res.getElementsByTagName("studentList")
console.log(student[0].getElementsByTagName("name")[0].innerHTML)
}
}
xhr.send(null)
}
</script>
</body>
</html>
结果
上一篇: 3DMAX2010怎么对人物鼻子建模? 3DMAX鼻子建模的教程
下一篇: 8-12刷题