Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: B92 en 18 Junio 2016, 12:27 pm



Título: Duda XML en PHP o javascript
Publicado por: B92 en 18 Junio 2016, 12:27 pm
Buenos Días
Es la primera duda que abro en este foro, espero que me podáis ayudar
Tengo una pagina web en php con javascript de la cual quiero obtener los atributos de ciertas etiquetas html para guardarlas en un .xml y/o leer ese .xml y escribir esas etiquetas en mi pagina.
La problemática que me surge es que necesito hacerlo mediante el DOM, es decir, buscar esa etiqueta en cuestión, obtener sus atributos, recorrer sus hijos y recoger sus atributos, el nº de sus hijos es aleatorio.
Para ilustrar un poco lo que busco, yo tendría algo así:

Código
  1.  <lienzo>
  2.    <circulo id="1" radio="5" tipo="circulo"></circulo>
  3.    <circulo id="2" radio="3" tipo="tag" grupo="1"></circulo>
  4.    <linea id="3" coordenadas="[1,0,0,1]" grupo="1"></linea>
  5.  </lienzo>
  6. </body>
  7.  

Y quiero guardarlo así:

Código
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <lienzo>
  3.  <circulo>
  4.    <id>1</id>
  5.    <radio>5</radio>
  6.    <tipo>circulo</tipo>
  7.  </circulo>
  8.  <circulo>
  9.    <id>2</id>
  10.    <radio>3</radio>
  11.    <tipo>tag</tipo>
  12.    <grupo>1</grupo>
  13.  </circulo>
  14.  <linea>
  15.    <id>3</id>
  16.    <coordenadas>[1,0,0,1]</coordenadas>
  17.    <grupo>1</grupo>
  18.  </linea>
  19. </lienzo>
  20.  

Mis dudas serían las siguientes:
¿Debo usar una función PHP o una javascript?¿O una mezcla de ambas?
(¿Funcionaria algo así como: $xml->createElement(document.getElementbyTagName('lienzo')); ? Por ahora no me ha funcionado nada parecido...)
Si uso una función Php (Como he estado intentando) ¿Como puedo navegar por el documento siguiendo el DOM?
¿Podríais facilitarme un código sencillo de ejemplo?¿O redirigirme a alguna pagina donde este explicado paso por paso?
Lamento decir que mis conocimientos Php son prácticamente nulos y he estado semanas para buscar alguna pagina que me ayude, pero mi búsqueda ha resultado infructuosa
Espero haberme explicado correctamente

Muchas gracias de antemano
Un saludo