首页 > 语言 > PHP > 正文

PHP将XML转数组过程详解

2024-09-04 11:47:00
字体:
来源:转载
供稿:网友

本文讲的是用PHP将XML对象转换成数组的方法,得到一个xml型的对象:

  1. $resp = $this->c->execute($req$sessionKey);//获得xml对象 
  2. $items=$resp->items; 

那么读取对象的值,就用$items->item,或者$items->item->price,如此操作很不方便,不符合php操作数组的习惯。

php提供了array方法将对象转换成数组,只要把你要转换数组的对象前面加上(array)就行了。

比如将$items->item(有很多item的对象)转换成数组:

  1. foreach ($items->item as $item){ 
  2.          $goods[]=(array)$item

$goods就是一个php数组了。

转换前代码如下:

  1. SimpleXMLElement Object 
  2.     [cid] => 50003793 
  3.     [modified] => 2013-04-18 17:16:25 
  4.     [nick] => qq307819623 
  5.     [price] => 200.00 
  6.     [title] => Nokia N97全新行货 
  7. SimpleXMLElement Object 
  8.     [cid] => 50024921 
  9.     [modified] => 2013-04-18 16:58:06 
  10.     [nick] => qq307819623 
  11.     [pic_url] =>pic.jpg 
  12.     [price] => 888888.00 
  13.     [title] => 刘俊仲 
  14. SimpleXMLElement Object 
  15.     [cid] => 1512 
  16.     [modified] => 2013-04-18 16:56:46 
  17.     [nick] => qq307819623 
  18.     [pic_url] => item_pic.jpg 
  19.     [price] => 323232.00 
  20.     [title] => 二手你好 
  21. //Vevb.com 
  22. SimpleXMLElement Object 
  23.     [cid] => 50012166 
  24.     [modified] => 2013-04-18 15:10:07 
  25.     [nick] => qq307819623 
  26.     [pic_url] =>0-item_pic.jpg 
  27.     [price] => 32.00 
  28.     [title] => 放大率拉德斯基分拉沙德疯了似的看法拉斯法 

转换后代码如下:

  1. Array 
  2.     [0] => Array 
  3.         ( 
  4.             [cid] => 50003793 
  5.             [modified] => 2013-04-18 17:16:25 
  6.             [nick] => qq307819623 
  7.             [price] => 200.00 
  8.             [title] => Nokia N97全新行货 
  9.         ) 
  10.  
  11.     [1] => Array 
  12.         ( 
  13.             [cid] => 50024921 
  14.             [modified] => 2013-04-18 16:58:06 
  15.             [nick] => qq307819623 
  16.             [pic_url] => pic.jpg 
  17.             [price] => 888888.00 
  18.             [title] => 刘俊仲 
  19.         ) 
  20.  
  21.     [2] => Array 
  22.         ( 
  23.             [cid] => 1512 
  24.             [modified] => 2013-04-18 16:56:46 
  25.             [nick] => qq307819623 
  26.             [pic_url] =>item_pic.jpg 
  27.             [price] => 323232.00 
  28.             [title] => 二手你好 
  29.         ) 
  30.  
  31.     [3] => Array 
  32.         ( 
  33.             [cid] => 50012166 
  34.             [modified] => 2013-04-18 15:10:07 
  35.             [nick] => qq307819623 
  36.             [pic_url] => 0-item_pic.jpg 
  37.             [price] => 32.00 
  38.             [title] => 放大率拉德斯基分拉沙德疯了似的看法拉斯法 
  39.         ) 

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