revivo el psot por q yo estaba con al duda y bueno despeus de bscuar por 3 dias lo posteo aca lo q encontre
Cita: Añadir varios atributos a un mismo nodo, simpleXML
Hola a todos,
Estoy con un fichero XML para modificarlo con php con simpleXML. En principio consiguo crear el archivo, añadirle un nodo e incluso un atributo, pero el problema viene cuando quiero añadir dos atributos al mismo nodo. EL codigo que tengo es el siguiente (sobre el archivo xml ya creado):
$imagen = $xmlstr->addChild('imagen');
$xmlstr->$imagen->addAttribute("foto","foto.jpg");
Y quiero crear un nodo de este tipo: <imagen foto="foto.jpg" comentario="hola"/>
Estoy buscando por la web y no encuentro nada.
Muchas gracias!
yo encontre la solucion solo basta en poner otro addAttribute
tu codigo quedaria asi
Código PHP:
<?php
$imagen = $xmlstr->addChild('imagen');
$imagen->addAttribute("foto","foto.jpg");
$imagen->addAttribute("comentario","este atributo ta perfecto");
$xmlstr->$imagen
?>
otra soluciion para serlo mas atractivo es extender la clase como yo lo hice y aun me falta pruebas
Código PHP:
<?php
class my_xml extends SimpleXMLElement
{
public function addAttrib($name,$value,$namespace = null)
{
$this->addAttribute($name,$value,$namespace);
return $this;
/*el return $this es para ahorrarnos uasn cuantas lineas*/
}
public function addAttribs($attribs_array = arraY())
{
foreach($attribs_array as $name => $value)
{
$this->addAttribute($name,$value);
}
}
}
$myxml = new my_xml("<xml></xml>",true,false);
$child_tag = $myxml->addChild("author");
$child_tag->addAttribs(array("nombre"=>"juan perez","edad" => "13"));
$myxml->comentario->$child_tag;
$foto = $myxml->addChild("foto","descripcion de esta foto es un mu rostro");
$foto->addAttrib("url","http://google.com/img_logo.gif")->addAttrib("alt","esta e s mi foto");
$myxml->fotos->$foto;
echo $myxml->asXml();
?>
lo unico q me gustaria saber es como identar el xml q parsea el simplexml ya q todo lo aes muy junto ye s ilegible a la vista para el hombre
se q el psot es viejo pero a mi me pico al curiosidad de a´rsear xml ejeje jeuguen con lso atributos yya casi todos los servers soportan php5 osea es seguro q tara implementado