Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/07/2010, 07:52
orlandopc09
 
Fecha de Ingreso: julio-2010
Mensajes: 41
Antigüedad: 13 años, 9 meses
Puntos: 7
Ayuda con PHP + XML

Hola a todos

Tengo un script para mostrar gráficos a partir de un XML, uno de mis problemas (ya resuelto) es que obtengo los datos de un XML con diferente formato al requerido por el grafico, pero utilizando PHP y la clase DOMDocument pude crear el XML con la estructura requerida.

Mi duda es que a partir de la lectura de mi XML como creo un arreglo (u otra cosa) que almacene el listado de nombres (si el nombre aparece varias veces solo lo muestro una sola vez) mas la cantidad de ocurrencias de los mismos.

Algo asi: Jorge 2
Nelson 1
Felix 1


Código:
<?xml version="1.0" encoding="utf-8"?>
<data>
	<row name='Jorge' apellido='Perez' />
	<row name='Nelson' apellido='Gomez'/>
	<row name='Felix' apellido='Blanco'/>
	<row name='Jorge' apellido='Mesa'/>
</data>
Código PHP:
<?php
header
("Content-type: text/xml"); 
$dom = new DOMDocument();
$dom->load('test.xml');
$rows $dom->getElementsByTagName('row');
echo 
'<?xml version="1.0" encoding="UTF-8"?>';    
echo 
'<chart><title>Test</title><subtitle>';
echo 
$rows->length;
echo 
'</subtitle><name_value1>Nombres</name_value1><type>bars</type><header_height>80</header_height>';
echo 
'<chart_data>';
foreach(
$rows as $row){
    
$name    =    $row->getAttribute('name');
    
$value    =     $row->getAttribute('apellido');
    echo 
'<piece>';
    echo 
'<name>'.$name.'</name><value1>'.$value.'</value1>';
    echo 
'</piece>';
}
echo 
'</chart_data>';
echo 
'<colours><colour>0xaff500</colour><colour>0x3699a9</colour><colour>0xdaa000</colour><colour>336699</colour></colours>';
echo 
'</chart>';
?>