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

时间:2022-08-24 15:15:56
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. }