Dada una array multidimensional, la tarea es convertir esta array en un archivo XML. Para convertir la array multidimensional en un archivo xml, cree un archivo XML y use las funciones appendChild() y createElement() para agregar un elemento de array en el archivo XML.
Ejemplo:
- Primero, cree una array multidimensional de PHP para convertir esa array al formato de archivo XML.
$array
=
array
(
'company'
=>
'Gfg'
,
'employe'
=>
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'
)
)
);
- Ahora, necesita crear una función definida por el usuario generatXML().
function
generateXML(
$data
) {
$title
=
$data
[
'company'
];
$rowCount
=
count
(
$data
[
'employe'
]);
// Create the xml document
$xmlDoc
=
new
DOMDocument();
$root
=
$xmlDoc
-> appendChild(
$xmlDoc
->
createElement(
"geeks"
));
$root
-> appendChild(
$xmlDoc
->
createElement(
"title"
,
$title
));
$root
-> appendChild(
$xmlDoc
->
createElement(
"totalRows"
,
$rowCount
));
$tabUsers
=
$root
-> appendChild(
$xmlDoc
->
createElement(
'rows'
));
foreach
(
$data
[
'employe'
]
as
$user
) {
if
(!
empty
(
$user
)) {
$tabUser
=
$tabUsers
-> appendChild(
$xmlDoc
->
createElement(
'employe'
));
foreach
(
$user
as
$key
=>
$val
) {
$tabUser
-> appendChild(
$xmlDoc
->
createElement(
$key
,
$val
));
}
}
}
header(
"Content-Type: text/plain"
);
// Make the output
$xmlDoc
-> formatOutput = true;
// Save xml file
$file_name
=
str_replace
(
' '
,
'_'
,
$title
) .
'.xml'
;
$xmlDoc
-> save(
$file_name
);
// Return xml file name
return
$file_name
;
}
- Luego use la función generateXML() y pase los datos de la array para convertir la array a XML en PHP.
generateXML(
$array
);
- Producción:
<
geeks
>
<
title
>Gfg</
title
>
<
totalRows
>4</
totalRows
>
<
rows
>
<
employe
>
<
name
>Jatin Das</
name
>
<
age
>34</
age
>
</
employe
>
<
employe
>
<
name
>Mohit Mal</
name
>
<
age
>30</
age
>
</
employe
>
<
employe
>
<
name
>Shubham Jha</
name
>
<
age
>24</
age
>
</
employe
>
<
employe
>
<
name
>Harsha Bhosle</
name
>
<
age
>29</
age
>
</
employe
>
</
rows
>
</
geeks
>
Publicación traducida automáticamente
Artículo escrito por legendblogsmail y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA