本文整理汇总了PHP中XML::setRoot方法的典型用法代码示例。如果您正苦于以下问题:PHP XML::setRoot方法的具体用法?PHP XML::setRoot怎么用?PHP XML::setRoot使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XML
的用法示例。
在下文中一共展示了XML::setRoot方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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);
}
}
示例2: getXML
/**
* @return string
*/
public function getXML() : string
{
$xml = new XML();
$xml->setName('struct');
$xml->setRoot();
$xml->setCharset('UTF-8');
$xml->setAttribute('type', 'object');
$xml->setAttribute('class', __CLASS__);
$this->appendDataXml($xml, $this->data);
return $xml->getXML();
}