读书人

跪求大侠帮助 php获取xml节点数据的小

发布时间: 2012-09-04 14:19:30 作者: rapoo

跪求大侠帮助 php获取xml节点数据的小问题
小弟太菜了,我想获取<type>=express,<dests>=530000时的<price>的值,那位大哥给写个详细的代码啊?

数据代码如下:
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<postage_get_response>
<postage>
<ems_increase>8.0</ems_increase>
<ems_price>22.0</ems_price>
<express_increase>3.0</express_increase>
<express_price>8.0</express_price>
<name>快递</name>
<postage_id>41864647</postage_id>
<postage_modes list="true">
<postage_mode>
<dests>440000</dests>
<id>181030917</id>
<increase>3.0</increase>
<price>10.0</price>
<type>ems</type>
</postage_mode>
<postage_mode> <dests>130000,360000,500000,460000,370000,530000,520000,340000,510000,420000,450000,410000,110000,120000,430000,350000</dests>
<id>181030918</id>
<increase>5.0</increase>
<price>15.0</price>
<type>express</type>
</postage_mode>
</postage_modes>
</postage>
</postage_get_response>

[解决办法]
页面并没有看到<dests>=530000的标签。。以下只是输出全部结构。你自己遍历判断一下就可以得到结果。。

PHP code
$xml=<<<xml<?xml version="1.0" encoding="UTF-16" standalone="no"?><postage_get_response>  <postage>  <ems_increase>8.0</ems_increase>  <ems_price>22.0</ems_price>  <express_increase>3.0</express_increase>  <express_price>8.0</express_price>  <name>快递</name>  <postage_id>41864647</postage_id>  <postage_modes list="true">  <postage_mode>  <dests>440000</dests>  <id>181030917</id>  <increase>3.0</increase>  <price>10.0</price>  <type>ems</type>  </postage_mode>  <postage_mode> <dests>130000,360000,500000,460000,370000,530000,520000,340000,510000,420000,450000,410000,110000,120000,430000,350000</dests>  <id>181030918</id>  <increase>5.0</increase>  <price>15.0</price>  <type>express</type>  </postage_mode>  </postage_modes>  </postage></postage_get_response>xml;$con=simplexml_load_string($xml);print_r($con); 

读书人网 >PHP

热点推荐