XML到ARRAY的转换[重复]

Posted

技术标签:

【中文标题】XML到ARRAY的转换[重复]【英文标题】:XML to ARRAY conversition [duplicate] 【发布时间】:2012-06-02 20:17:35 【问题描述】:

我是 php 新手。我需要做一个将xml转换为数组的任务我在网上搜索了很多,发现很多函数类为我做这个但是每个函数都需要参数,我不明白如何将正确的参数传递给它。我需要一个函数来获取这个链接的 xml

  http://feeds.nytimes.com/nyt/rss/SundayBookReview

如果你按 ctrl+u 它会给你源它会 b xml 我需要通过 php 的 xml 然后将它转换成一个数组请帮助我。我卡住了

【问题讨论】:

【参考方案1】:

这是我用的:

<?php

function xmlobj2arr($Data)

   if (!isset($ret))  $ret = array(); 
   if (is_object($Data))
       foreach (get_object_vars($Data) as $key => $val)  $ret[$key] = xmlobj2arr($val);  return $ret; 
   elseif (is_array($Data)) 
      foreach ($Data as $key => $val)  $ret[$key] = xmlobj2arr($val);  return $ret;
    else  return $Data; 


$thexml = new SimpleXMLElement( file_get_contents("http://feeds.nytimes.com/nyt/rss/SundayBookReview") );
$arr = xmlobj2arr($thexml);
echo "<pre>";
print_r($arr);
echo "</pre>";

?>

【讨论】:

$thexml = new SimpleXMLElement(... ???? 的类在哪里 对象是$thexml;这 ????显示提要,可以是有效的 XML 数据(字符串)或文件 不,我的意思是我可以在代码中看到该对象,但我看不到您为其创建对象的类,我也需要该类 "SimpleXMLElement" 是一个扩展,在 PHP5 中默认启用;没有下载。 php.net/manual/en/simplexml.requirements.php【参考方案2】:

使用simplepie

它非常容易和简单。下载并查看演示。

查看演示代码here

【讨论】:

以上是关于XML到ARRAY的转换[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将xml文本数组转换为关联数组[重复]

如何使用合法的 XML 将数组转换为 SimpleXML [重复]

将 XML 转换为 JSON 到 XML 时保留 json:Array 属性

PHP将带有一些(重复)元素的XML转换为Json到Json数组[重复]

C#如何将xml数据转换成Array类型或者集合类?多谢!!!

将 Array 转换为 Hash 删除重复键并同时添加值