Построение дерева XML из массива «строки / что / являются / пути» (в Ruby)
Каков наилучший способ построить дерево XML в Ruby, если у вас есть массив строковых путей?
<code>paths = [
"nodeA1",
"nodeA1/nodeB1/nodeC1",
"nodeA1/nodeB1/nodeC1/nodeD1/nodeE1",
"nodeA1/nodeB1/nodeC2",
"nodeA1/nodeB2/nodeC2",
"nodeA3/nodeB2/nodeC3"
]</code>
xml =
<code>
</code>
Моя первая мысль состоит в том, чтобы разделить строку пути на массив и сравнить ее глубину и содержание с предыдущим массивом, но потом, если я доберусь до пути "nodeA1 / nodeB1 / nodeC1 / nodeD1 / nodeE1"когда я вернусь кnodeA1 / nodeB1 / nodeC2", узел [1] является общим предком, но отслеживание этого является грязным, как яПо крайней мере, я делал это.
Я хотел бы также сделать его рекурсивным, чтобы я мог обрабатывать каждый уровень гнезда в своей собственной функции, но нене может прийти к какому-либо полууниверсальному решению.
Какие идеи или вещи вы обычно делаете, когда сталкиваетесь с этой проблемой?
Спасибо! копье