加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php遍历解析xml字符串的方法

发布时间:2022-02-27 16:36:41 所属栏目:PHP教程 来源:互联网
导读:本文实例讲述了php遍历解析xml字符串的方法。分享给大家供大家参考,具体如下: ?php $content = xml ?xmlxml= version=1.0 encoding=UTF-8 ?= test global_setting ping_protocolHTTP/ping_protocol ping_port80/ping_port ping_path/index.html/ping_pat
  本文实例讲述了php遍历解析xml字符串的方法。分享给大家供大家参考,具体如下:
 
  <?php
  
  $content = <<<xml <?xmlxml="" version="1.0" encoding="UTF-8" ?="">
  
  <test>
  
    <global_setting>
  
      <ping_protocol>HTTP</ping_protocol>
  
      <ping_port>80</ping_port>
  
      <ping_path>/index.html</ping_path>
  
      <response_timeout>5000</response_timeout>
  
      <health_check_interval>3000</health_check_interval>
  
      <unhealthy_threshold>2</unhealthy_threshold>
  
      <healthy_threshold>3</healthy_threshold>
  
    </global_setting>
  
    <instances>
  
      <instance ip="192.168.234.121">
  
      <instance ip="192.168.234.28">
  
    </instance></instance></instances>
  
  </test>
  
  XML;
  
  $test = new SimpleXMLElement($content);
  
  //获得ping_protocol的值
  
  $ping_protocol = $test->global_setting->ping_protocol;
  
  echo "ping_protocol : $ping_protocol /n";
  
  //打印出所有instance的IP
  
  foreach ( $test->instances->instance as $instance) {
  
    echo "IP: {$instance['ip']} /n" ;
  
  }
  
  //这里经过测试,发现使用var_dump之类的似乎不能有效输出值,用echo比较顺利,
  
  //还有就是上面的那个xml的例子可以去掉<?xml version="1.0" encoding="UTF-8"?>  
  
  //也可以去掉头尾///的<<<xml,然后当做普通字符串那样对待,但是没有测试中文等 <="" pre="">
  
  </xml,然后当做普通字符串那样对待,但是没有测试中文等></xml> 

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读