Foros del Web » Programando para Internet » PHP »

manejo de XMls

Estas en el tema de manejo de XMls en el foro de PHP en Foros del Web. Hola que tal, tengo un xml de la siguiente forma <root> <child> <item atr="hola"> <dato>valor</dato> <dato2>valor2</dato2> <dato3>valor3</dato3> </item> <item atr="hola"> <dato>valor</dato> <dato2>valor2</dato2> <dato3>valor3</dato3> </item> <item ...
  #1 (permalink)  
Antiguo 11/02/2011, 13:06
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Pregunta manejo de XMls

Hola que tal, tengo un xml de la siguiente forma

<root>
<child>
<item atr="hola">
<dato>valor</dato>
<dato2>valor2</dato2>
<dato3>valor3</dato3>
</item>
<item atr="hola">
<dato>valor</dato>
<dato2>valor2</dato2>
<dato3>valor3</dato3>
</item>
<item atr="hola">
<dato>valor</dato>
<dato2>valor2</dato2>
<dato3>valor3</dato3>
</item>

</child>

</root>

Lo que pretendo hacer es poder agregar/eliminar los "item", les agradeceria que me pudierán apoyar. He buscado en la documentación y algunos ejemplos usando Dom, simpleXml. Sin embargo, solo he podido crear nuevos, mas no modificar el xml ya existente. y si no es mucho pedir, un pequeño ejemplo.

Les agradezco de antemano su ayuda.

saludos
  #2 (permalink)  
Antiguo 11/02/2011, 13:37
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: manejo de XMls

Te dejo una introducción bastante completa http://www.phpro.org/tutorials/Intro...-With-PHP.html
__________________
Saludos.
  #3 (permalink)  
Antiguo 11/02/2011, 14:44
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Exclamación Respuesta: manejo de XMls

hola que tal, te agradezco tu aportación, sin embargo, para crear un xml nuevo, con varios nodos, no tengo problemas, mi dilema, es apartir de uno que ya existe y a ese agregarle unos item's.

nuevamente muchas gracias!
  #4 (permalink)  
Antiguo 11/02/2011, 14:51
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: manejo de XMls

Saludos

Eso lo puedes realizar con la extensión DOM de php Click Aca
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 11/02/2011, 23:21
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Exclamación Respuesta: manejo de XMls

Muchas gracias por la liga, ya habia pasado ahi, quisas no busque bien, pero no encontre algo que me ayudara, en lo que vi solo habia ejemplo de como crear uno nuevo.

gracias!
  #6 (permalink)  
Antiguo 12/02/2011, 03:52
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: manejo de XMls

Vaya que cosas, puedes leer y crear uno nuevo pero no puedes modificar uno existente. creo que necesitas descansar un poco y retomar esto cuando tengas la mente mas despejada. Tira unas cuantas lineas de código experimenta con el DOM un poco y si no das con la solución pon aquí tu código y habrá quien te diga donde esta el problema.
__________________
Saludos.
  #7 (permalink)  
Antiguo 14/02/2011, 00:05
 
Fecha de Ingreso: julio-2008
Mensajes: 116
Antigüedad: 15 años, 9 meses
Puntos: 1
Pregunta Respuesta: manejo de XMls

cierto necesitaba descansar y despejarme, bien, aun no logro entender como hacer algunas cosas, ahora pretendo hacer es crear un xml, y antes de guardarlo, cargar otro y extraer algunos nodos y agregarselo al primero, lo que estoy haciendo es:

Código:
<?php
  $xml = new DomDocument();
  $xml->formatOutput=true;
  $root = $xml->createElement('root');
  $xml->appendChild($root);
  
  $books = $xml->createElement('books');
  $root->appendChild($books);
  
  $book = $xml->createElement('book');
  $books->appendChild($book);
  
  $title = $xml->createElement('title','titulo');
  $book->appendChild($title);
  
  $author = $xml->createElement('author','nombre');
  $book->appendChild($author);
  // hasta aqui todo bien, si le doy $xml->save('books2.xml');

  // ahora lo intento hacer es cargar de otro xml algunos nodos, y pasarselo al que //estoy creando arriba.
  $doc = new DOMDocument();
  $doc->load('books.xml');  

  $newbooks = $doc->getElementsByTagName( "book" );
  

  foreach($newbooks as $element)
  {
        // el error marca en esa parte
	$books->appendChild($element);
  } 
  
  echo $xml->save('mybooks.xml');
  
 ?>

Les agradezco mucho su colaboración.

Etiquetas: manejo
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 04:40.