Dunque, ho un webservice in Java che mi deve restituire dei dati che andrebbero strutturati a albero n-dimensionale (in realtà in alcuni rari casi può essere un grafo, ma si tratta di un solo arco e mi sta bene che venga trattato come un albero con 2 nodi uguali).

Premesso che il webservice l'ho fatto sempre io e quindi posso gestirmi lo scambio dati come mi pare, come posso fare lato client (PHP) per crearmi una struttura dati facilmente stampabile ma sopratutto come posso rendere graficamente questi dati?

Si tratta di un webservice che prende un certo identificativo e restituisce o direttamente un valore ad esso associato, oppure una sorta di albero le cui foglie sono i valori cercati.
Questo perchè l'identificativo può non avere un dato direttamente associato, ma essere diviso in nuovi identificativi (numero variabile, e questi a loro volta possono essere divisi in ulteriori identificativi e via dicendo) e rimanere nel database per questioni storiche (un vecchio identificativo in sostanza può essere un dato ormai obsoleto che corrispondente all'unione di 2 o più nuovi identificativi... da qui nasce la struttura ad albero)

Non so come gestire la cosa in modo chiaro... tenendo conto che nel webservice non posso far altro che creare l'albero con un metodo ricorsivo che mi visita l'albero in profondità.. per ora, in fase di testing del webservice, me lo sono gestito come una stringa.

per esempio:
se ho un identificativo I1 che è diviso in I2 e I3, e per I2 ho direttamente il dato D2 mentre I3 si divide in I$ e I5 che hanno associati i dati D4 e D5 riepettivamente.... ho il seguente albero
codice:
    I1
    |
 ----------------
 |              |
 I2            I3
 |              |
 D2        -------------
           |           |
          I4          I5
           |           |
          D4          D5
e al momento la stringa corrispondente è fatta così
I1.I2->D2; I1.I3.I4->D4; I1.I3.I5->D5;

facilmente gestibile con explode, per una stampa "record per record"... ma vorrei riuscire a dare una stampa tabelare o grafica che mi renda meglio l'albero (in sostanza evidenziare i dati suddivisi).

Qualche idea?