XML String在php中转换为数组

时间:2014-10-18 17:35:54

标签: php

我在php中将xml字符串转换为数组。但我只在一个书籍数组和嵌套数组中生成书店数组,索引是0,1,2。我需要同名(书)数组到书店。如何生成这种类型的数组。 xml字符串是....

$string = "<?xml version="1.0"?>
<bookstore>
    <book>
        <name>PHP</name>
        <author>W3School</author>
        <price>200</price>
    </book>
    <book>
        <name>C#.Net</name>
        <author>Microsoft</author>
        <price>250</price>
    </book>
    <book>
        <name>Asp.Net</name>
        <author>Microsoft</author>
        <price>350</price>
    </book>
</bookstore>";


$value = simplexml_load_string($string);

print_r($value);

在上面的代码中,我在0,1,2索引的书籍数组中运行并输出显示。

SimpleXMLElement Object ( 
     [book] => Array (  
                     [0] => SimpleXMLElement Object ( 
                             [name] => PHP 
                             [author] => W3School 
                             [price] => 200 ) 
                     [1] => SimpleXMLElement Object ( 
                             [name] => C#.Net 
                             [author] => Microsoft 
                             [price] => 250 ) 
                     [2] => SimpleXMLElement Object ( 
                             [name] => Asp.Net  
                             [author] => Microsoft 
                             [price] => 350 ) 
                    ) )

但是我需要一个名为bookstore的数组和嵌套数组,其中多个book数组替换为[0],[1],[2]。

1 个答案:

答案 0 :(得分:0)

将SimpleXMLObject转换为数组,可以使用

  

$ value = json_decode(json_encode($ value),TRUE);

关于嵌套在bookstore中的需要,您只需手动完成。

  

return ['bookstore'=&gt; $值];

经过一段时间,你可能得到了其他答案?