php simpleXMLElement na tablicę: wartość null
Mam następujący XML:
<account>
<id>123</id>
<email></email>
<status>ACTIVE</status>
</account>
Chcę mieć go jako zmienną tablicową. Dlatego to przeczytałem$xml = simplexml_load_file()
. Najprostszym sposobem konwersji simpleXMLElement na tablicę asocjacyjną, którą znam, jest szlifowanie jej za pomocą:json_decode(json_encode((array) $xml),1);
Problem polega na tym, że nie chcę dostaćemail
klucz jako pusta tablica, ale raczej jakoNULL
wartość. Jako SimpleXMLElement wygląda tak:
public 'email' =>
object(SimpleXMLElement)[205]
podczas gdy w tablicy wygląda tak:
'email' =>
array (size=0)
empty
Chciałbym uzyskać:
'email' => NULL
Jedynym sposobem, aby to osiągnąć, jest iteracja przez wszystkie elementy i zastąpienie pustej tablicy wartością null. Problem polega na tym, że mój XML jest znacznie większy (powyżej jest po prostu wyjaśnienie problemu) i musiałbym iterować wiele elementów XML (a to byłaby praca ręczna - szukam czegoś automatycznego). Może brakuje niektórych opcji w jednej z funkcji ... a może jest jeszcze jedna sztuczka, aby to zrobić?