-2

我有数据的 SimpleXMLElement 对象。

要将其转换为数组,我只需

$data = (array) $xmlObj;

没关系,但是像<![CDATA[LOREM IPSUM]]>它这样的数据会转换为空数组。我需要将其转换为普通数组行。

代码:

    $e = simplexml_load_string($fileContent);
    $books = array();
    foreach ($e->product as $book) {
        $books[] = (array) $book;
    }
4

1 回答 1

1
function toArray(SimpleXMLElement $xml) {
        $array = (array)$xml;

        foreach ( array_slice($array, 0) as $key => $value ) {
            if ( $value instanceof SimpleXMLElement ) {
                $array[$key] = empty($value) ? NULL : toArray($value);
            }
        }
        return $array;
    }
于 2013-06-17T11:50:41.017 回答