首页 > 代码库 > XML(php中获取xml文件的方式/ajax获取xml格式的响应数据的方式)

XML(php中获取xml文件的方式/ajax获取xml格式的响应数据的方式)

1、XML 格式规范:
① 必须有一个根元素
② 不可有空格、不可以数字或.开头、大小写敏感
③ 不可交叉嵌套
④ 属性双引号(浏览器自动修正成双引号了)
⑤ 特殊符号要使用实体
⑥ 注释和HTML一样
虽然可以描述和传输复杂数据,但是其解析过于复杂并且体积较大,所以实现开发已经很少使用了。
 

例:

 

 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <root>  
  3.     <arrayList>  
  4.         <array>  
  5.             <src>images/banner.jpg</src>  
  6.             <newPirce>12.00</newPirce>  
  7.             <oldPrice>30.00</oldPrice>  
  8.         </array>  
  9.         <array>  
  10.             <src>images/banner.jpg</src>  
  11.             <newPirce>12.00</newPirce>  
  12.             <oldPrice>30.00</oldPrice>  
  13.         </array>  
  14.     </arrayList>  
  15. </root>  

 

 

 

2、php中获取xml文件的方式:
① header中要写 text/xml
② file_get_contents 获取文件内容
 
这个在5.4以上版本已经移除了。 所以要修改为file_get_contents("php://input") 来获取XML的值。
 
  1. <?php   
  2.     header(‘Content-Type:text/xml;charset=utf-8‘);  
  3.     /*以xml格式传输数据的时候要求响应内容格式是   text/xml*/  
  4.     /*file_get_contents 获取文件内容*/  
  5.     $xml = file_get_contents(‘01.xml‘);  
  6.     /*输出xml内容*/  
  7.     echo $xml;  
  8. ?>  



3、ajax获取xml格式的响应数据的方式:
responseXML
 
    1. var xhr = new XMLHttpRequest;  
    2. xhr.open(‘get‘,‘01.php‘);  
    3. xhr.send(null);  
    4. xhr.onreadystatechange = function(){  
    5.     if(xhr.status == 200 && xhr.readyState == 4){  
    6.         /*获取到XML格式内容  放回的是DOM对象  document*/  
    7.         var xml = xhr.responseXML;  
    8.         /*通过选着器可以获取到xml的数据*/  
    9.         console.log(xml.querySelectorAll(‘array‘)[0].querySelector(‘src‘).innerHTML);  
    10.     }  
    11. }  

XML(php中获取xml文件的方式/ajax获取xml格式的响应数据的方式)