original_string: protected function arrayToXml(array $array, SimpleXMLElement $xml = null)
      {
          if ($xml === null) {
              $xml = new SimpleXMLElement('<xml/>');
          }
          foreach ($array as $key => $value) {
              if (is_array($value)) {
                  if (isset($value[0])) {
                      foreach ($value as $subValue) {
                          $subNode = $xml->addChild($key);
                          $this->arrayToXml($subValue, $subNode);
                      }
                  } else {
                      $subNode = $xml->addChild($key);
                      $this->arrayToXml($value, $subNode);
                  }
              } else {
                  // Wrap cdata for non-numeric string
                  if (is_numeric($value)) {
                      $xml->addChild($key, $value);
                  } else {
                      $child = $xml->addChild($key);
                      $node = dom_import_simplexml($child);
                      $node->appendChild($node->ownerDocument->createCDATASection($value));
                  }
              }
          }
          return $xml;
      }
code: protected function arrayToXml(array $array, SimpleXMLElement $xml = null)
      {
          if ($xml === null) {
              $xml = new SimpleXMLElement('<xml/>');
          }
          foreach ($array as $key => $value) {
              if (is_array($value)) {
                  if (isset($value[0])) {
                      foreach ($value as $subValue) {
                          $subNode = $xml->addChild($key);
                          $this->arrayToXml($subValue, $subNode);
                      }
                  } else {
                      $subNode = $xml->addChild($key);
                      $this->arrayToXml($value, $subNode);
                  }
              } else {
                  // Wrap cdata for non-numeric string
                  if (is_numeric($value)) {
                      $xml->addChild($key, $value);
                  } else {
                      $child = $xml->addChild($key);
                      $node = dom_import_simplexml($child);
                      $node->appendChild($node->ownerDocument->createCDATASection($value));
                  }
              }
          }
          return $xml;
      }
code_tokens: protected function arrayToXml ( array $ array , SimpleXMLElement $ xml = null ) { if ( $ xml === null ) { $ xml = new SimpleXMLElement ( '<xml/>' ) ; } foreach ( $ array as $ key => $ value ) { if ( is_array ( $ value ) ) { if ( isset ( $ value [ 0 ] ) ) { foreach ( $ value as $ subValue ) { $ subNode = $ xml -> addChild ( $ key ) ; $ this -> arrayToXml ( $ subValue , $ subNode ) ; } } else { $ subNode = $ xml -> addChild ( $ key ) ; $ this -> arrayToXml ( $ value , $ subNode ) ; } } else { // Wrap cdata for non-numeric string if ( is_numeric ( $ value ) ) { $ xml -> addChild ( $ key , $ value ) ; } else { $ child = $ xml -> addChild ( $ key ) ; $ node = dom_import_simplexml ( $ child ) ; $ node -> appendChild ( $ node -> ownerDocument -> createCDATASection ( $ value ) ) ; } } } return $ xml ; }
docstring: Convert to XML element
  
  @param array $array
  @param SimpleXMLElement $xml
  @return SimpleXMLElement
docstring_tokens: Convert to XML element