首页 > 开发 > PHP > 正文

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

2024-05-04 21:50:50
字体:
来源:转载
供稿:网友

本文实例讲述了php遍历解析xml字符串的方法。分享给大家供大家参考,具体如下:

  1. <?php 
  2.  
  3. $content = <<<xml <?xmlxml="" version="1.0" encoding="UTF-8" ?=""> 
  4.  
  5. <test> 
  6.  
  7.   <global_setting> 
  8.  
  9.     <ping_protocol>HTTP</ping_protocol> 
  10.  
  11.     <ping_port>80</ping_port> 
  12.  
  13.     <ping_path>/index.html</ping_path> 
  14.  
  15.     <response_timeout>5000</response_timeout> 
  16.  
  17.     <health_check_interval>3000</health_check_interval> 
  18.  
  19.     <unhealthy_threshold>2</unhealthy_threshold> 
  20.  
  21.     <healthy_threshold>3</healthy_threshold> 
  22.  
  23.   </global_setting> 
  24.  
  25.   <instances> 
  26.  
  27.     <instance ip="192.168.234.121"> 
  28.  
  29.     <instance ip="192.168.234.28"> 
  30.  
  31.   </instance></instance></instances> 
  32.  
  33. </test> 
  34.  
  35. XML; 
  36.  
  37. $test = new SimpleXMLElement($content); 
  38.  
  39. //获得ping_protocol的值 
  40.  
  41. $ping_protocol = $test->global_setting->ping_protocol; 
  42.  
  43. echo "ping_protocol : $ping_protocol /n"; 
  44.  
  45. //打印出所有instance的IP 
  46.  
  47. foreach ( $test->instances->instance as $instance) { 
  48.  
  49.   echo "IP: {$instance['ip']} /n" ; 
  50.  
  51.  
  52. //这里经过测试,发现使用var_dump之类的似乎不能有效输出值,用echo比较顺利, 
  53.  
  54. //还有就是上面的那个xml的例子可以去掉<?xml version="1.0" encoding="UTF-8"?>  
  55.  
  56. //也可以去掉头尾///的<<<xml,然后当做普通字符串那样对待,但是没有测试中文等 <="" pre=""> 
  57.  
  58. </xml,然后当做普通字符串那样对待,但是没有测试中文等></xml> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表