本文实例讲述了php遍历解析xml字符串的方法。分享给大家供大家参考,具体如下:
<?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程序设计有所帮助。