php - Laravel - SimpleXMLElement' not found -


i read this link , examples. want convert array xml using laravel (and php7) . here code :

   public function sitemap()      {         if (function_exists('simplexml_load_file')) {             echo "simplexml functions available.<br />\n";         } else {             echo "simplexml functions not available.<br />\n";         }         $array = array (             'bla' => 'blub',             'foo' => 'bar',             'another_array' => array (                 'stack' => 'overflow',             ),         );         $xml = simplexml_load_string('<root/>');          array_walk_recursive($array, array ($xml, 'addchild'));         print $xml->asxml();     } 

it's first try . returns me :

simplexml functions available. blafoostack 

my second try :

public function sitemap()  {      $test_array = array (         'bla' => 'blub',         'foo' => 'bar',         'another_array' => array (             'stack' => 'overflow',         ),     );     $this->array_to_xml($test_array);  } private function array_to_xml(array $arr, simplexmlelement $xml = null) {     foreach ($arr $k => $v) {         is_array($v)             ? array_to_xml($v, $xml->addchild($k))             : $xml->addchild($k, $v);     }     return $xml; } 

i had error in situation :

fatal error: call member function addchild() on null

here want :

<?xml version="1.0"?> <root>   <blub>bla</blub>   <bar>foo</bar>   <overflow>stack</overflow> </root> 

any suggestion?

notice have simplexmlelement $xml = null in method signature:

private function array_to_xml(array $arr, simplexmlelement $xml = null) 

now, notice call method this:

$this->array_to_xml($test_array); // <--- no second parameter 

this means variable $xml null in array_to_xml() context because didn't give method , 2nd parameter (so defaults null). since never built actual element, gives

fatal error: call member function addchild() on null

you either have give method necessary element

$this->array_to_xml($test_array, new simplexmlelement); 

or build element inside method

private function array_to_xml(array $arr) {     $xml = new simplexmlelement();     ... } 

Comments

Popular posts from this blog

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project.Error occurred in starting fork -

windows - Debug iNetMgr.exe unhandle exception System.Management.Automation.CmdletInvocationException -

configurationsection - activeMq-5.13.3 setup configurations for wildfly 10.0.0 -