1. 程式人生 > >XML(php中獲取xml文件的方式/ajax獲取xml格式的響應數據的方式)

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

light art 數據 root xhr htm function 文件的 list

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格式的響應數據的方式)