php 将数组转换为xml
时间:2016-06-24
网站开发中,我们经常需要将数组转化为xml,本文章向大家分享一个数组转换为xml的实例,需要的朋友可以参考一下。
有时候我们需要将数据以xml格式存储到数据库或文件中,方便以后使用。对于这个需求,我们必须将数据转换为xml格式,为了满足这一需求,我们需要将数据转换成XML并保存XML文件。在本教程中,我们将讨论如何从PHP数组创建XML。我们已经创建了转换PHP数组到XML一个简单的脚本。您可以轻松地生成PHP数组的XML文件,并保存XML文件。
PHP数组:
首先,我们将用户数据存储在PHP的数组中:
$users_array = array(
"total_users" => 3,
"users" => array(
array(
"id" => 1,
"name" => "Nitya",
"address" => array(
"country" => "India",
"city" => "Kolkata",
"zip" => 700102,
)
),
array(
"id" => 2,
"name" => "John",
"address" => array(
"country" => "USA",
"city" => "Newyork",
"zip" => "NY1234",
)
),
array(
"id" => 3,
"name" => "Viktor",
"address" => array(
"country" => "Australia",
"city" => "Sydney",
"zip" => 123456,
)
),
)
);
数组转换为XML:
现在,我们使用php的SimpleXML将用户数组转换使用。
//function defination to convert array to xml
function array_to_xml($array, &$xml_user_info) {
foreach($array as $key => $value) {
if(is_array($value)) {
if(!is_numeric($key)){
$subnode = $xml_user_info->addChild("$key");
array_to_xml($value, $subnode);
}else{
$subnode = $xml_user_info->addChild("item$key");
array_to_xml($value, $subnode);
}
}else {
$xml_user_info->addChild("$key",htmlspecialchars("$value"));
}
}
}
//creating object of SimpleXMLElement
$xml_user_info = new SimpleXMLElement("<?xml version=\"1.0\"?><user_info></user_info>");
//function call to convert array to xml
array_to_xml($users_array,$xml_user_info);
//saving generated xml file
$xml_file = $xml_user_info->asXML('users.xml');
//success and error message based on xml creation
if($xml_file){
echo 'XML file have been generated successfully.';
}else{
echo 'XML file generation error.';
}
运行该脚本,输出一下xml内容:
<?xml version="1.0"?>
<user_info>
<total_users>3</total_users>
<users>
<item0>
<id>1</id>
<name>Nitya</name>
<address>
<country>India</country>
<city>Kolkata</city>
<zip>700102</zip>
</address>
</item0>
<item1>
<id>2</id>
<name>John</name>
<address>
<country>USA</country>
<city>Newyork</city>
<zip>NY1234</zip>
</address>
</item1>
<item2>
<id>3</id>
<name>Viktor</name>
<address>
<country>Australia</country>
<city>Sydney</city>
<zip>123456</zip>
</address>
</item2>
</users>
</user_info>
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 使用bootstrap时下拉菜单失效问题解决
- 使用文件字节输出流FileOutputStream写入文件
- jdk1.8 自带的Base64加密与解密
- 缓冲字节输入流BufferedInputStream
- 在页面上写一个验证码
- 缓冲字节输出流BufferedOutputStream
- EL表达式获取简单数据与复杂数据(调用类)+EL表达式获取Map集合与list集合数据
- 用缓冲字节流,复制一个照片
- 09小结:封装结果集或实体类时,有多个对象的解决方法
- 序列化与反序列化Serializable,Externalizable
- response.getWriter().write()和 response.getWriter().print()的区别:
- java使用TCP,由客户端向服务端传输图片,(电脑与电脑)或(同一台电脑)
- 使用druid
- UDP实现多人聊天室
- 请求(doFilter)与响应乱码(BaseController+自定义注解@ContentType(““))集中处理