Se puede generar un archivo usando PHP desde la base de datos, y se puede hacer por el método estático o dinámico en PHP. Los métodos estáticos se pueden llamar directamente, sin crear una instancia de una clase. Aquí vamos a discutir cómo crear un archivo XML dinámicamente.
- Lo primero que tenemos que hacer es buscar los datos de la base de datos. Para eso, necesitamos escribir una consulta de selección que obtenga todos los detalles de la tabla.
$result=mysqli_query($con, "Select * from Table_name");
- Ahora necesitamos crear un archivo XML usando DOMDocument en el que especificaremos la versión. DOMDocument representa un documento HTML o XML completo, sirve como la raíz del árbol del documento.
$xml = new DOMDocument("1.0");
- Ahora, crearemos elementos del documento XML. Creará un nuevo Node de elementos usando la función createElement(). Crea una nueva instancia de la clase DOMElement. Este Node no aparecerá en el documento a menos que se inserte con (por ejemplo) DOMNode::appendChild() .
$fitness=$xml->createElement("users");
- Hasta ahora, hemos creado un archivo XML. Entonces, para mostrar esto, vamos a usar una etiqueta de eco que muestra los datos de un archivo en formato XML. Para guardar el archivo XML usaremos el comando guardar.
echo "".$xml->saveXML()."";
Lo siguiente que debemos hacer es buscar los elementos de la tabla.
Ejemplo: si una tabla tiene dos elementos, entonces debería crear dos elementos XML. Para eso, simplemente usaremos un bucle while dentro del cual habrá una función mysql_fetch_array para obtener todos los datos de la tabla.
Dado que la base de datos está conectada a un servidor local, no se ejecutará en su ide, pero una vez que haya creado la base de datos, funcionará bien. Para crear la base de datos, siga el procedimiento mencionado a continuación.
- Cree una base de datos de fitness en mysql utilizando un servidor local.
- Luego crea un usuario de tabla.
- Luego agregue las columnas: uid, nombre, correo electrónico, contraseña, descripción, rol, foto.
Programa:
php
<?php $con=mysqli_connect("localhost", "root", "", "fitness"); if(!$con){ echo "DB not Connected..."; } else{ $result=mysqli_query($con, "Select * from users"); if($result>0){ $xml = new DOMDocument("1.0"); // It will format the output in xml format otherwise // the output will be in a single row $xml->formatOutput=true; $fitness=$xml->createElement("users"); $xml->appendChild($fitness); while($row=mysqli_fetch_array($result)){ $user=$xml->createElement("user"); $fitness->appendChild($user); $uid=$xml->createElement("uid", $row['uid']); $user->appendChild($uid); $uname=$xml->createElement("uname", $row['uname']); $user->appendChild($uname); $email=$xml->createElement("email", $row['email']); $user->appendChild($email); $password=$xml->createElement("password", $row['password']); $user->appendChild($password); $description=$xml->createElement("description", $row['description']); $user->appendChild($description); $role=$xml->createElement("role", $row['role']); $user->appendChild($role); $pic=$xml->createElement("pic", $row['pic']); $user->appendChild($pic); } echo "<xmp>".$xml->saveXML()."</xmp>"; $xml->save("report.xml"); } else{ echo "error"; } } ?>
Producción:
Publicación traducida automáticamente
Artículo escrito por AnshuMishra3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA