本文整理汇总了PHP中XML::setAttribute方法的典型用法代码示例。如果您正苦于以下问题:PHP XML::setAttribute方法的具体用法?PHP XML::setAttribute怎么用?PHP XML::setAttribute使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XML
的用法示例。
在下文中一共展示了XML::setAttribute方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: appendDataXml
/**
* @param XML $xml
* @param array $data
* @return void
* @SuppressWarnings(PHPMD.ElseExpression)
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function appendDataXml(XML &$xml, array &$data)
{
foreach ($data as $key => &$value) {
$child = new XML();
$child->setName($key);
$child->setCData(true);
$child->setRoot(false);
$type = gettype($value);
$child->setAttribute('type', $type);
switch ($type) {
case 'boolean':
$child->setValue((int) $value);
break;
case 'integer':
$child->setValue((int) $value);
break;
case 'double':
case 'float':
$child->setValue((double) $value);
break;
case 'string':
$child->setValue((string) $value);
break;
case 'array':
$this->appendDataXml($child, $value);
break;
case 'object':
$child->setAttribute('class', get_class($value));
if ($value instanceof self) {
$array = $value->getArray();
$this->appendDataXml($child, $array);
} else {
$serialize = serialize($value);
$child->setValue($serialize);
}
break;
case 'resource':
case 'null':
case 'unknown type':
default:
$child->setValue('null');
break;
}
$xml->appendChild($child);
}
}