- Posts: 23
- Thank you received: 0
Ask the community, share ideas, and connect with other LimeSurvey users!
Please Log in to join the conversation.
Please Log in to join the conversation.
function writeXmlFromArray(XMLWriter $xml, $aData, $sParentKey = '') { $bCloseElement = false; foreach ($aData as $key => $value) { if (!empty($value)) { if (is_array($value)) { if (is_numeric($key)) { $xml->startElement($sParentKey); $bCloseElement = true; } elseif (isAssociativeArray($value)) { $xml->startElement($key); $bCloseElement = true; } if (is_numeric($key)) { writeXmlFromArray($xml, $value, $sParentKey); } else { writeXmlFromArray($xml, $value, $key); } if ($bCloseElement === true) { $xml->endElement(); $bCloseElement = false; } continue; } elseif (is_numeric($key)) { $xml->writeElement($sParentKey, $value); } else { $xml->writeElement($key, $value); } } } return $xml; }
function writeXmlFromArray(XMLWriter $xml, $aData, $sParentKey = '') { $bCloseElement = false; foreach ($aData as $key => $value) { if (!empty($value)) { ///////////////////// // convert to json // ///////////////////// if (is_object($value)) { $value = json_encode($value); } ///////////////////// ///////////////////// ///////////////////// if (is_array($value)) { if (is_numeric($key)) { $xml->startElement($sParentKey); $bCloseElement = true; } elseif (isAssociativeArray($value)) { $xml->startElement($key); $bCloseElement = true; } if (is_numeric($key)) { writeXmlFromArray($xml, $value, $sParentKey); } else { writeXmlFromArray($xml, $value, $key); } if ($bCloseElement === true) { $xml->endElement(); $bCloseElement = false; } continue; } elseif (is_numeric($key)) { $xml->writeElement($sParentKey, $value); } else { $xml->writeElement($key, $value); } } } return $xml; }
Please Log in to join the conversation.
Please Log in to join the conversation.