- First create a PHP multidimensional array to convert this array to XML file format.
$array
=
array
(
’company’
= >
’ Gfg’
,
’employee’
= >
array
(
’0’
= >
array
(
’ name’
= >
’Jatin Das’
,
’age’
= >
’34’
),
’1’
= >
array
(
’name’
= >
’ Mohit Mal’
,
’age’
= >
’ 30’
),
’ 2’
= >
array
(
’name’
= >
’ Shubham Jha’
,
’age’
= >
’ 24’
),
’ 3’
= >
array
(
’name’
= >
’ Harsha Bhosle’
,
’age’
= >
’ 29’
)
)
);
- Now you need to create a custom generatXML() function.
function
generateXML (
$data
) {
$title
=
$data
[
’company’
];
$rowCount
=
count
(
$data
[
’employees’
]);
// Create an xml document
$xmlDoc
=
new
DOMDocument();
$root
=
$xmlDoc
-> appendChild (
$xmlDoc
->
createElement (
"engineer"
));
$root
-> appendChild (
$xmlDoc
->
createElement (
"title"
,
$title
));
$root
-> appendChild (
$xmlDoc
->
createElement (
"totalRows"
,
$rowCount
));
$tabUsers
=
$root
-> appendChild (
$xmlDoc
->
createElement (
’rows’
));
foreach
(
$data
[
’employees’
]
as
$user
) {
if
(!
empty
(
$user
)) {
$tabUser
=
$tabUsers
-> appendChild (
$xmlDoc
->
createElement (
’employee’
));
foreach
(
$user
as
$key
= >
$val
) {
$tabUser
-> appendChild (
$xmlDoc
->
createElement (
$key
,
$val
));
}
}
}
header (
"Content-Type: text / plain"
);
// Make output
$xmlDoc
-> formatOutput = true;
// Save XML file
$file_name
=
str_replace
(
’’
,
’_’
,
$title
).
’.xml’
;
$xmlDoc
-> save (
$file_name
);
// Return the xml file name
return
$file_name
;
}
- Then use the generateXML() function and pass the array data into it to convert the array to XML in PHP.
generateXML (
$array
);
- Exit:
<
engineer
>
<
title
> Gfg < /
title
>
<
totalRows
> 4 < /
totalRows
>
<
rows
>
<
employees
>
<
name
> Jatin Das < /
name
>
<
age
> 34 < /
age
>
< /
employees
>
<
employees
>
<
name
> Mohit Mal < /
name
>
<
age
> 30 < /
age
>
< /
employees
>
<
employees
>
<
name
> Shubham Jha < /
name
>
<
age
> 24 < /
age
>
< /
employees
>
<
employees
>
<
name
> Harsha Bhosle < /
name
>
<
age
> 29 < /
age
>
< /
employees
>
< /
rows
>
< /
engineer
>