.responseXML获取数据库返回的XML代码(类似于整个HTML代码,有标签)
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h2>请求XML文件</h2>
<input type="button" value="ajax获取XML文件" />
<h3></h3>
</body>
<script>
//点击事件
document.querySelector('input').onclick = function(){
//创建对象
var xhr = new XMLHttpRequest();
//请求行
xhr.open('post','backXML.php');
//请求头 不发送数据,可以不写
//回调函数
xhr.onreadystatechange = function(){
//判断条件 响应回来 请求页面存在
if(xhr.readyState == 4 && xhr.status == 200){
//返回的是一系列字符串
console.log(xhr.responseText);
//返回的是document
console.log(xhr.responseXML);
//返回的名字
var name = xhr.responseXML.querySelector('name').innerHTML;
//返回的年龄
var age = xhr.responseXML.querySelector('age').innerHTML;
//返回的性别
var sex = xhr.responseXML.querySelector('sex').innerHTML;
//把数据库返回的内容信息放在h3中显示
document.querySelector('h3').innerHTML = name + '---' + age + '---' +sex;
}
}
//请求主体 发送请求
xhr.send(null);
}
</script>
</html>
php中读取xml需要2步
1、设置编码格式
header(‘content-type:text/xml;charset=utf-8’);
2、读取xml文件
file_get_contents()参数1是文件的路径名
<?php
//告诉浏览器返回的是XML 编码格式是utf-8
header('content-type:text/xml;charset=utf-8');
//读取xml 参数1 文件的路径名
$xmlString = file_get_contents('data/person.xml');
echo $xmlString;
?>
<?xml version="1.0" encoding="utf-8"?>
<root>
<name>小明</name>
<age>18</age>
<sex>男性</sex>
</root>