singwa老师,xml的id属性是否应该是唯一的呢?按着您的方法数组定义成这样如图
然后就会出现这样的xml,如图
,是不是代码写的不完善呢?怎么完善呢?
singwa老师,xml的id属性是否应该是唯一的呢?按着您的方法数组定义成这样如图
然后就会出现这样的xml,如图
,是不是代码写的不完善呢?怎么完善呢?
2014-09-03
您好,谢谢您的问题,xml节点熟悉在同一个节点下是需要唯一的,刚刚看了代码,代码存在一个bug。
之前的方法:
public static function xmlToEncode($data) {
$xml = $attr = "";
foreach($data as $key => $value) {
if(is_numeric($key)) {
$attr = " id='{$key}'";
$key = "item";
}
$xml .= "<{$key}{$attr}>";
$xml .= is_array($value) ? self::xmlToEncode($value) : $value;
$xml .= "</{$key}>\n";
}
return $xml;
}
优化后的代码:
public static function xmlToEncode($data) {
$xml = "";
foreach($data as $key => $value) {
$attr = "";
if(is_numeric($key)) {
$attr = " id='{$key}'";
$key = "item";
}
$xml .= "<{$key}{$attr}>";
$xml .= is_array($value) ? self::xmlToEncode($value) : $value;
$xml .= "</{$key}>\n";
}
return $xml;
}最后谢谢您的问题,祝学习愉快!
举报