本文整理匯總了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();
}