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

Posted 码天码地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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格式的响应数据的方式)的主要内容,如果未能解决你的问题,请参考以下文章

如何在循环的帮助下动态地从 xml 文件中获取表到 ajax?

AJAX 请求 XML 格式的数据

PHP/AJAx 实时搜索的最佳方法 - xml 还是 MySQL? [关闭]

PHP 以POST方式提交XML获取XML,最后解析XML

PHP通过XML报文方式,已第三方接口交互(发送xml,获取XML,并解析xml步骤)

如何使用 xpath/php 获取 xml 文件中的节点名称?