Beispiel #1
0
        debug(TypeConverter::$method($xml));
    }
}
// Convert a complicated XML file to an array
$xml = file_get_contents('test.xml');
foreach (array('none', 'merge', 'group', 'overwrite') as $format) {
    debug('TypeConverter::xmlToArray(' . $format . ')');
    switch ($format) {
        case 'none':
            debug(TypeConverter::xmlToArray($xml, TypeConverter::XML_NONE));
            break;
        case 'merge':
            debug(TypeConverter::xmlToArray($xml, TypeConverter::XML_MERGE));
            break;
        case 'group':
            debug(TypeConverter::xmlToArray($xml, TypeConverter::XML_GROUP));
            break;
        case 'overwrite':
            debug(TypeConverter::xmlToArray($xml, TypeConverter::XML_OVERWRITE));
            break;
    }
}
// Convert UTF-8
$json = array('j\'étais', 'joué', '中文', 'éáíúűóüöäÍÓ');
debug($json);
debug(TypeConverter::utf8Encode($json));
debug(TypeConverter::utf8Decode(TypeConverter::utf8Encode($json)));
?>

</body>
</html>
 /**
  * Parse an xml string into a usable php structure
  */
 private function normalizeFromXml($name, $config, $input = '')
 {
     $doc = new SimpleXMLElement($this->filedata[$name]);
     $items = TypeConverter::xmlToArray($doc, TypeConverter::XML_MERGE);
     // get down into the root element
     $root = $config['target']['mapping']['root'];
     $elements = split('/', str_replace('//', '', $root));
     if ($elements[0] == 'response' && !$items['response']) {
         array_shift($elements);
     }
     if (array_key_exists('nodata', $items['response']) && is_array($items['response']['nodata'])) {
         $this->resourcedata[$name] = 'nodata';
         return $doc;
     }
     foreach ($elements as $elm) {
         $items = $items[$elm];
     }
     $items = $this->flattenZOHO($items);
     $this->resourcedata[$name] = $items;
     return $doc;
 }