ppazos / yupp

Automatically exported from code.google.com/p/yupp
0 stars 0 forks source link

Crear clase para simplificar el procesamiento de XML #57

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Que sea simple como SimpleXML para leer un XML y como DOMDocument para crear un 
XML. Así la lectura y la creación se hace con una única clase.

Original issue reported on code.google.com by pablo.swp@gmail.com on 14 Aug 2010 at 7:19

GoogleCodeExporter commented 8 years ago
Ejemplo de creación:

<a>
  x
  <c>
    <d>y</d>
    <e>
      <f>z</f>
    </e>
  </c>
</a>

$n = new XML(a);
$n->add(b,x) // devuelve <a> porque b es un nodo de texto con valor x
  ->add(c)   // devuelve <c> porque no es nodo de texto
    ->add(d,y) // devuelve <c>
    ->add(e) // devuelve <e>
      ->add(f,z) // devuelve <e>

También se puede jugar con el dinamismo de PHP, llamando a métodos que no 
existen y creando tags con esos nombres como:

$n->a() // devuelve <a>
    ->b(x) // devuelve <a>
    ->c() // devuelve <c>
      ->d(y) // devuelve <c>
      ->e() // devuelve <e>
        ->f(z) // devuelve <e>

Hay que ver que pasa cuando un nodo tiene un subnodo de texto y además otros 
nodos XML, aquí el ejemplo es que un nodo o es de texto o tiene usbnodos, pero 
no las dos condiciones al mismo tiempo, eso talvez dificulte saber qué nodo 
devolver cuando se hace el ->add(..)

Original comment by pablo.swp@gmail.com on 14 Aug 2010 at 7:29