- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/xml.php
- Класс: CDataXMLDocument
- Вызов: CDataXMLDocument::encodeDataTypes
static function encodeDataTypes($name, $value)
{
static $Xsd = array(
"string"=>"string", "bool"=>"boolean", "boolean"=>"boolean",
"int"=>"integer", "integer"=>"integer", "double"=>"double", "float"=>"float", "number"=>"float",
"array"=>"anyType", "resource"=>"anyType",
"mixed"=>"anyType", "unknown_type"=>"anyType", "anyType"=>"anyType"
);
$node = new CDataXMLNode();
$node->name = $name;
if (is_object($value))
{
$ovars = get_object_vars($value);
foreach ($ovars as $pn => $pv)
{
$decode = static::encodeDataTypes($pn, $pv);
if ($decode)
{
$node->children[] = $decode;
}
}
}
else if (is_array($value))
{
foreach ($value as $pn => $pv)
{
$decode = static::encodeDataTypes( $pn, $pv);
if ($decode)
{
$node->children[] = $decode;
}
}
}
else
{
if (isset($Xsd[gettype($value)]))
{
$node->content = $value;
}
}
return $node;
}