我有SimpleXMLElement数据对象。
要将其转换为数组,我只需
$data = (array) $xmlObj;
没关系,但像<![CDATA[LOREM IPSUM]]>
这样的数据会转换为空数组。我需要它转换为正常的数组行。
代码:
$e = simplexml_load_string($fileContent);
$books = array();
foreach ($e->product as $book) {
$books[] = (array) $book;
}
答案 0 :(得分: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;
}