Construire une structure arborescente à partir de la liste des chemins de chaînes

J'ai une collection de string chemins comme ["x1/x2/x3","x1/x2/x4","x1/x5"] dans la liste.
J'ai besoin de construire une structure arborescente à partir de cette liste, qui peut être itéré jusqu'à obtenir un joli imprimé de l'arbre.
comme ce

x1
|
|-x2
|  |
|  |-x3
|  |
|  |-x4
|
|-x5

Toutes les idées/suggestions?
Je crois que le problème peut être attaqué en premier par le traitement de la liste de chaînes de caractères EDIT: La réponse correcte choisi une élégante mise en œuvre, d'autres suggestions ont été trop bonne.

source d'informationauteur sushant