Foros del Web » Programando para Internet » PHP »

Crear nodos con atributos XML usando DOM...

Estas en el tema de Crear nodos con atributos XML usando DOM... en el foro de PHP en Foros del Web. Hola: Que tal? Deseo crear un archivo xml desde php así: Código HTML: <?xml version= "1.0" ?> <contactos xmlns= "MiXml" > <persona> <nombre> Ana </nombre> ...
  #1 (permalink)  
Antiguo 03/08/2008, 12:56
 
Fecha de Ingreso: agosto-2008
Mensajes: 1
Antigüedad: 15 años, 8 meses
Puntos: 0
Exclamación Crear nodos con atributos XML usando DOM...

Hola:
Que tal?
Deseo crear un archivo xml desde php así:

Código HTML:
<?xml version="1.0"?>
<contactos xmlns="MiXml">
<persona>
<nombre>Ana</nombre>
<telefono>1111</telefono>
</persona>

<persona>
<nombre>Luis</nombre>
<telefono>2222</telefono>
</persona>
</contactos> 
El código para crearlo desde php es este:
Código PHP:
<?php
   $xml 
= new DOMDocument();
   
$xml->load('RegistroContactos.xml'); // el archivo existe
   
$contactos $xml->createElement('contactos','');   //no puedo crear el atributo xmlns="MiXml", o no sé como hacerle.
   
$xml->appendChild($contactos);

   
$persona $xml->createElement('persona',''); 
   
$contactos->appendChild($persona);

   
$nombre $xml->createElement('nombre',''); 
   
$persona->appendChild($nombre); 
     
    
$telefono $xml->createElement('telefono','');  
    
$persona->appendChild($telefono); 
     
    
$xml->save("RegistroContactos.xml");  
?>


Funciona bien, pero el problema es que no puedo crear la etiqueta

Código HTML:
<contactos xmlns="MiXml"> 
Alguien que sea tan amable de poder ayudarme porfavor.
Gracias de antemano
Salu2
  #2 (permalink)  
Antiguo 03/08/2008, 18:04
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Crear nodos con atributos XML usando DOM...

Creo que así te funcionará:
Código PHP:
<?php
    $xml 
= new DOMDocument();
    
$xml->load('RegistroContactos.xml'); // el archivo existe
    
$contactos $xml->createElement('contactos','');    //no puedo crear el atributo xmlns="MiXml", o no sé como hacerle.
    
$xml->appendChild($contactos);
    
    
/*************************/
    
    // Creo el atributo
    
$atributo $doc->createAttribute('xmlns');
    
// Se lo acoplo al elemento "contactos"
    
$contactos->appendChild($atributo);    
    
// Creo el texto
    
$atributo_valor $doc->createTextNode('MiXml');
    
// Se lo asigno al atributo
    
$atributo->appendChild($atributo_valor);
    
    
/*************************/
    
    
$persona $xml->createElement('persona',''); 
    
$contactos->appendChild($persona);
    
    
$nombre $xml->createElement('nombre',''); 
    
$persona->appendChild($nombre); 
    
    
$telefono $xml->createElement('telefono','');  
    
$persona->appendChild($telefono); 
      
    
$xml->save("RegistroContactos.xml");  
?>
Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:10.