技术文摘
PHP实现数组与XML互相转换的实例代码
2025-01-15 03:56:06 小编
在PHP开发中,数组与XML之间的相互转换是一项常见且实用的操作。本文将通过实例代码详细介绍如何实现这两种数据结构的转换。
将数组转换为XML。我们可以编写一个函数来完成此任务。以下是具体代码:
function array_to_xml($data, &$xml_data) {
foreach($data as $key => $value) {
if(is_array($value)) {
if(!is_numeric($key)){
$subnode = $xml_data->addChild("$key");
array_to_xml($value, $subnode);
} else {
$subnode = $xml_data->addChild("item");
array_to_xml($value, $subnode);
}
} else {
$xml_data->addChild("$key",htmlspecialchars("$value"));
}
}
}
使用这个函数时,我们可以这样调用:
$array = array(
"book" => array(
"title" => "PHP开发实战",
"author" => "张三",
"price" => "59.9"
)
);
$xml = new DOMDocument('1.0', 'UTF-8');
$root = $xml->createElement('books');
$xml->appendChild($root);
array_to_xml($array, $root);
$xml->formatOutput = true;
echo $xml->saveXML();
上述代码首先定义了一个array_to_xml函数,它递归地遍历数组,并将其转换为XML节点。然后创建了一个示例数组,并利用该函数将其转换为XML格式输出。
接下来,看看如何将XML转换为数组。以下是实现代码:
function xml_to_array($xml) {
$array = json_decode(json_encode(simplexml_load_string($xml)), TRUE);
return $array;
}
使用方式如下:
$xml_str = '<books><book><title>PHP开发实战</title><author>张三</author><price>59.9</price></book></books>';
$result = xml_to_array($xml_str);
print_r($result);
这段代码定义了xml_to_array函数,通过json_decode和json_encode以及simplexml_load_string函数将XML字符串转换为数组。然后定义了一个XML字符串,并调用该函数将其转换为数组并打印输出。
通过以上实例代码,我们可以轻松实现PHP中数组与XML之间的相互转换,这在数据交换、配置文件处理等场景中有着广泛的应用,希望这些代码示例能帮助开发者在实际项目中更高效地处理数据。
- Dos 环境中注册表备份与恢复方法教程
- 系统默认备份还原注册表的图文指南
- 修复 EXE 文件关联的 REG 操作
- 华为 HarmonyOS 3 尝鲜版首批推送 鸿蒙 3.0 迎来更新
- 鸿蒙系统 3.0 升级后耗电量加快 官方解决办法在此
- 病毒禁用任务管理器 导入此注册表可解开
- 注册表隐藏自定义磁盘盘符的方法
- 鸿蒙 3.0.0.339 推送及更新内容汇总
- 取消磁盘自动扫描 reg
- 光驱硬盘自动运行特性的 REG 打开与关闭
- Windows 垃圾与注册表的快速清理之法
- 鸿蒙 HarmonyOS 3.0.0.101 内测版推送 仅 304MB 升级
- 在 XP 系统中将 Administrator 帐户设为不隐藏的注册表设置
- 鸿蒙系统虚拟按键设置方法 屏幕内三键导航教程
- 鸿蒙系统应用自动同步的位置及开启技巧