Tout d'abord, vous pouvez envisager d'effectuer votre mappage xml dans Postgres lui-même en utilisant le fonctions . Deux avantages de ceci sont que votre fonctionnalité d'abstraction de données reste ensemble et que Postgres est bien mieux optimisé pour effectuer cette tâche efficacement que php. Si vous devez effectuer une modification de niveau supérieur du xml, xslt devrait faire l'affaire.
En ce qui concerne le problème que vous mentionnez, je ne sais pas si vous faites référence aux données du tableau ayant une relation hiérarchique ?