XML(php中獲取xml文件的方式/ajax獲取xml格式的響應數據的方式)

一、XML 格式規範:
① 必須有一個根元素
② 不可有空格、不能夠數字或.開頭、大小寫敏感
③ 不可交叉嵌套
④ 屬性雙引號(瀏覽器自動修正成雙引號了)
⑤ 特殊符號要使用實體
⑥ 註釋和HTML同樣
雖然能夠描述和傳輸複雜數據,可是其解析過於複雜而且體積較大,因此實現開發已經不多使用了。
 

例:javascript

 

 
  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>  

 

 

 

二、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. ?>  



三、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. }  
相關文章
相關標籤/搜索