1、XML 格式规范:
① 必须有一个根元素
② 不可有空格、不可以数字或.开头、大小写敏感
③ 不可交叉嵌套
④ 属性双引号(浏览器自动修正成双引号了)
⑤ 特殊符号要使用实体
⑥ 注释和HTML一样
虽然可以描述和传输复杂数据,但是其解析过于复杂并且体积较大,所以实现开发已经很少使用了。
例:
- <?xml version="1.0" encoding="UTF-8"?>
- <root>
- <arrayList>
- <array>
- <src>images/banner.jpg</src>
- <newPirce>12.00</newPirce>
- <oldPrice>30.00</oldPrice>
- </array>
- <array>
- <src>images/banner.jpg</src>
- <newPirce>12.00</newPirce>
- <oldPrice>30.00</oldPrice>
- </array>
- </arrayList>
- </root>
2、php中获取xml文件的方式:
① header中要写 text/xml
②
file_get_contents 获取文件内容
这个在5.4以上版本已经移除了。 所以要修改为file_get_contents("php://input") 来获取XML的值。
- <?php
- header('Content-Type:text/xml;charset=utf-8');
- /*以xml格式传输数据的时候要求响应内容格式是 text/xml*/
- /*file_get_contents 获取文件内容*/
- $xml = file_get_contents('01.xml');
- /*输出xml内容*/
- echo $xml;
- ?>
3、ajax获取xml格式的响应数据的方式:
responseXML
- var xhr = new XMLHttpRequest;
- xhr.open('get','01.php');
- xhr.send(null);
- xhr.onreadystatechange = function(){
- if(xhr.status == 200 && xhr.readyState == 4){
- /*获取到XML格式内容 放回的是DOM对象 document*/
- var xml = xhr.responseXML;
- /*通过选着器可以获取到xml的数据*/
- console.log(xml.querySelectorAll('array')[0].querySelector('src').innerHTML);
- }
- }