Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/02/2007, 20:26
masterjail
 
Fecha de Ingreso: octubre-2004
Ubicación: Cork (Irlanda)
Mensajes: 161
Antigüedad: 20 años, 5 meses
Puntos: 1
Fichero de configuración con XML...

Hola que tal?

Para introducir el mensaje diré que esto va sobre XML y PHP... así que si en lugar de postearlo aquí lo debía haber hecho en el foro de PHP... lo siento

Os comento mi duda:

Hasta ahora siempre que he querido configurar los parámetros de acceso a una base de datos (usuario, contraseña ...) lo he hecho dentro de algun script en PHP, de manera que de algun modo u otro cuando los necesitaba los recuperaba fácilmente...

Pero hoy me ha apetecido hacerlo (porque creo que es mejor que como lo hacía) en un fichero XML config.xml como éste:

Código HTML:
<?xml version="1.0" encoding="ISO-8859-1"?>
<dbconfig>
  <dbms>mysql</dbms>
  <host>localhost</host>
  <username>root</username>
  <password>mysql4root</password>
  <database>club</database>
</dbconfig> 
Para recuperar los valores de los parámetros hago lo siguiente en PHP:

Código PHP:
$dom DOMDocument::load('config.xml');
$xpath = new DOMXPath($dom);
$dbms $xpath->query('/dbconfig/dbms')->item(0)->nodeValue;
$host $xpath->query('/dbconfig/host')->item(0)->nodeValue;
$username $xpath->query('/dbconfig/username')->item(0)->nodeValue;
$password $xpath->query('/dbconfig/password')->item(0)->nodeValue;
$database $xpath->query('/dbconfig/database')->item(0)->nodeValue
y a partir de ahí establezco la conexión.

Tambien me he dado cuenta de que puedo hacerlo así:

Código PHP:
$dom DOMDocument::load('adodb.config.xml');
$dbms $config->getElementsByTagName('dbms')->item(0)->nodeValue;
$host $config->getElementsByTagName('host')->item(0)->nodeValue;
$username $config->getElementsByTagName('username')->item(0)->nodeValue;
$password $config->getElementsByTagName('password')->item(0)->nodeValue;
$database $config->getElementsByTagName('database')->item(0)->nodeValue
No acaba de convencerme mucho la forma en que lo hago y estoy convencido de que existe algun método más elegante para recuperar el valor del texto de los nodos...

Si alguien sabe como y le apetece escribir... le estaré bastante agradecido...

Muchas gracias por anticipado.