Generar y Leer archivos XML desde PHP con SimpleXMLElement

13 de Nov, 2014

Para crear los archivos usamos el siguiente ejemplo

  1. $xml=" \n\t\t";
  2. for ($i=1; $i<=10; $i++) {
  3. $xml .="\n\t\t";
  4. $xml .= "".$i."\n\t\t";
  5. $xml .= "email_address".$i."\n\t\t";
  6. $xml .= "verify".$i."\n\t\t";
  7. $xml .= "status".$i."\n\t\t";
  8. $xml.="\n\t";
  9. }
  10. $xml.="\n\r";
  11. $xmlobj=new SimpleXMLElement($xml);
  12. if ($xmlobj->asXML("text.xml"))
  13. echo "Done";
  14. else
  15. echo "Error";

Esto nos generará un archivo XML como este

  1. <!--?xml version="1.0"?-->
  2. 1
  3. email_address1
  4. verify1
  5. status1
  6.  
  7. 2
  8. email_address2
  9. verify2
  10. status2
  11.  
  12. 3
  13. email_address3
  14. verify3
  15. status3
  16.  
  17. 4
  18. email_address4
  19. verify4
  20. status4
  21.  
  22. 5
  23. email_address5
  24. verify5
  25. status5
  26.  
  27. 6
  28. email_address6
  29. verify6
  30. status6
  31.  
  32. 7
  33. email_address7
  34. verify7
  35. status7
  36.  
  37. 8
  38. email_address8
  39. verify8
  40. status8
  41.  
  42. 9
  43. email_address9
  44. verify9
  45. status9
  46.  
  47. 10
  48. email_address10
  49. verify10
  50. status10

Para leerlo podemos hacer un php como el siguiente, que colocará cada dato dentro de un array

  1. $xml=simplexml_load_file("text.xml") or die("Error: Cannot create object");
  2. print_r($xml); //Con esto leemos todo el array generado
  3. foreach ($xml-&gt;children() as $email) {
  4. echo $email-&gt;id . "
  5. "; //asignamos una variable a cada array
  6. echo $email-&gt;email . "
  7. ";
  8. echo $email-&gt;verify_code . "
  9. ";
  10. echo $email-&gt;status . "
  11. ";
  12. }