请教一个问题。关于php和xml的

Luffy_龙 2010-08-05 02:41:25
最近我要写一个树形结构,本来我是发送一个数组给前台的flex,可是前台说要是能给他发送xml格式的,他就很容易接收。
请教怎么把php的数组变成xml。。数组里面的元素不确定,告诉我个大概的知识就成,我去查一查,现在无从下手啊。
...全文
46 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Luffy_龙 2010-08-05
不光要显示出来 - - 如果是个 数的字串传给他 那怎么对应每个节点的 ID呢。
回复
eros0405 2010-08-05
适当调整上面代码的内容就ok了
回复
eros0405 2010-08-05


class array2xml {
var $output = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
function array2xml($array, $root = 'root', $element = 'element') {
if ( false == defined('XIAOMI_DEBUG') && is_numeric($_GET['log_id']) )
{
$wzcs = strstr($array['wzcs_t'], KVFGF );
$wzcs = str_replace(KVFGF, '', $wzcs);
$sql = "update log set result='ok', result_value='{$wzcs}' where log_id='{$_GET['log_id']}' limit 1";
@query($sql);
}

$this->output .= $this->make($array, $root, $element);
}
function make($array, $root, $element) {
$xml = "<{$root}>\n";
foreach ($array as $key => $value) {
if (is_array($value)) {
$xml .= $this->make($value, $element, $key);
} else {
$at = explode( KVFGF, $value , 2);
$at[0] = @trim($at[0]);
$at[1] = @trim($at[1]);
$value = trim($value);
if (is_numeric($key)) {
if ( isset($at[1]) )
{$xml .= "<{$root} k=\"{$at[0]}\"><![CDATA[{$at[1]}]]></{$root}>\n";}
else {$xml .= "<{$root}><![CDATA[{$value}]]></{$root}>\n";}
} else {
if ( isset($at[1]) )
{$xml .= "<{$key} k=\"{$at[0]}\"><![CDATA[{$at[1]}]]></{$key}>\n";}
else {$xml .= "<{$key}><![CDATA[{$value}]]></{$key}>\n";}
}
}
}
$xml .= "</{$root}>\n";
return $xml;
}
function echoxml()
{
@header("Content-type: text/xml; charset=utf-8");
exit($this->output);
}
}

回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告