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

时间:2022-08-29 17:25:39

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
$content = <<<XML
<?xml 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"/>
  </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,然后当做普通字符串那样对待,但是没有测试中文等

希望本文所述对大家PHP程序设计有所帮助。