当前位置: 首页 > news >正文

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. }  

转载于:https://www.cnblogs.com/zsl123/p/7286400.html

相关文章:

  • 难得一见的《Google在中国》专辑
  • windows下微信公众号开发(js-sdk)(一)
  • java8 Stream Pipelines 浅析
  • linux下的ftp
  • Servlet之doPost获取表单参数
  • 【转载】JSP 获取真实IP地址的代码
  • 【转】XML string 转datagrid datatable dataset
  • 设计原则之宜家效应:如何让人们爱上你的产品
  • IE6 DIV height 最小高度解决方法
  • svn报错can only be performed on a version resource [at this time].
  • C++ 中的强制类型转换
  • pycharm引入django
  • log
  • 360安全卫士升级致Win7/vista电脑不能上网
  • Leet Code OJ 219. Contains Duplicate II [Difficulty: Easy]
  • 4. 路由到控制器 - Laravel从零开始教程
  • Angularjs之国际化
  • canvas绘制圆角头像
  • CSS盒模型深入
  • docker-consul
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Java 多线程编程之:notify 和 wait 用法
  • mysql中InnoDB引擎中页的概念
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • spark本地环境的搭建到运行第一个spark程序
  • Vultr 教程目录
  • 读懂package.json -- 依赖管理
  • 给github项目添加CI badge
  • 无服务器化是企业 IT 架构的未来吗?
  • 学习HTTP相关知识笔记
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​插件化DPI在商用WIFI中的价值
  • ​香农与信息论三大定律
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (1)常见O(n^2)排序算法解析
  • (10)ATF MMU转换表
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (27)4.8 习题课
  • (3)(3.5) 遥测无线电区域条例
  • (4)(4.6) Triducer
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (bean配置类的注解开发)学习Spring的第十三天
  • (C++17) optional的使用
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (pojstep1.1.2)2654(直叙式模拟)
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (转)ObjectiveC 深浅拷贝学习
  • ***通过什么方式***网吧
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET DataGridView数据绑定说明
  • .NET性能优化(文摘)
  • /run/containerd/containerd.sock connect: connection refused
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚