How to remove SimpleXMLElement Object from php array(如何从php数组中删除SimpleXMLElement对象)
本文介绍了如何从php数组中删除SimpleXMLElement对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经使用simplexml_load_file
php函数读取了XML文件。
XML
<data>
<request>
<type>City</type>
<query>Anand, India</query>
</request>
<current_condition>
<observation_time>08:55 AM</observation_time>
<temp_C>28</temp_C>
<temp_F>82</temp_F>
<weatherCode>113</weatherCode>
<weatherDesc>Sunny</weatherDesc>
<windspeedMiles>9</windspeedMiles>
<windspeedKmph>14</windspeedKmph>
<winddirDegree>63</winddirDegree>
<winddir16Point>ENE</winddir16Point>
<precipMM>0.0</precipMM>
<humidity>23</humidity>
<visibility>10</visibility>
<pressure>1014</pressure>
<cloudcover>0</cloudcover>
</current_condition>
<weather>
<date>2012-12-22</date>
<tempMaxC>33</tempMaxC>
<tempMaxF>91</tempMaxF>
<tempMinC>18</tempMinC>
<tempMinF>64</tempMinF>
<windspeedMiles>11</windspeedMiles>
<windspeedKmph>17</windspeedKmph>
<winddirection>ENE</winddirection>
<winddir16Point>ENE</winddir16Point>
<winddirDegree>63</winddirDegree>
<weatherCode>113</weatherCode>
<weatherDesc>Sunny</weatherDesc>
<precipMM>0.0</precipMM>
</weather>
<weather>
<date>2012-12-23</date>
<tempMaxC>34</tempMaxC>
<tempMaxF>92</tempMaxF>
<tempMinC>18</tempMinC>
<tempMinF>65</tempMinF>
<windspeedMiles>9</windspeedMiles>
<windspeedKmph>15</windspeedKmph>
<winddirection>ENE</winddirection>
<winddir16Point>ENE</winddir16Point>
<winddirDegree>64</winddirDegree>
<weatherCode>113</weatherCode>
<weatherDesc>Sunny</weatherDesc>
<precipMM>0.0</precipMM>
</weather>
<weather>
<date>2012-12-24</date>
<tempMaxC>33</tempMaxC>
<tempMaxF>92</tempMaxF>
<tempMinC>18</tempMinC>
<tempMinF>64</tempMinF>
<windspeedMiles>9</windspeedMiles>
<windspeedKmph>14</windspeedKmph>
<winddirection>NE</winddirection>
<winddir16Point>NE</winddir16Point>
<winddirDegree>45</winddirDegree>
<weatherCode>113</weatherCode>
<weatherDesc>Sunny</weatherDesc>
<precipMM>0.0</precipMM>
</weather>
</data>
PHP:
$child=$xml->children();
foreach($xml->children() as $child)
{
foreach($child->children() as $child_t)
{
$weather_arr[$child_t->getName()]=$child_t;
echo $child_t->getName() . ": " . $child_t . "<br />";
}
}
echo "<pre>".html_entity_decode(print_r($weather_arr,true))."</pre>";
推荐答案
我已使用以下代码解决了问题。
function simplexml_to_array($xmlobj) {
$a = array();
foreach ($xmlobj->children() as $node) {
if (is_array($node))
$a[$node->getName()] = simplexml_to_array($node);
else
$a[$node->getName()] = (string) $node;
}
return $a;
}
foreach($xml->children() as $child)
{
$arr=simplexml_to_array($child );
echo "<pre>".html_entity_decode(print_r($arr,true))."</pre>";
}
这篇关于如何从php数组中删除SimpleXMLElement对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何从php数组中删除SimpleXMLElement对象
基础教程推荐
猜你喜欢
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01