Supponiamo di avere una sorta di diagramma di attività UML con forcelle e join 1- n .
L'assegnazione dei singoli nodi l'uno rispetto all'altro è definita da una tabella di relazioni XML tramite UUID in cui ogni UUID di attributo source
e target
rappresenta tale nodo individuale.
Il seguente esempio evidenziato dovrebbe chiarire questo:
IlflussodeldiagrammaUMLiniziada
source="b1edbc32-a6f0-4a41-a836-0482d80db226"
(nodo di connessione 1)
e termina con
target = "ef347ef9-3b53-45ab-918e-6f8b29a68dc0"
(nodo di connessione 5)
Nel mezzo puoi vedere nel "flusso" da una (o più) fonti a uno (o più) bersagli. La forcella / giuntura esemplare è colorata in verde / azzurro.
Vorrei ora mappare questa struttura in un array JSON annidato, ad es.
"nodes": [
{
"name": "initNode",
"uid": "b1edbc32-a6f0-4a41-a836-0482d80db226",
"nodes": [
{
"name": "followUpNode",
"uid": "9ea88f3e-4b80-473d-a86f-0ff16b790727",
"nodes": [
// ...
]
}
]
}
]
Qual è l'approccio di programmazione più adatto per ottenere questo risultato con Qt5 C ++ che utilizza le QDom ... e QJson ... ? Ho solo bisogno di alcuni impulsi stimolanti.
Un qualche tipo di looping .... o ricorsione? Mentre JSON come formato dati per l'output è obbligatorio, il layout di esempio JSON mostrato non lo è. Se esiste un approccio migliore rispetto a quegli array di% co_de nidificati (come gestire il parallelismo multiplo di fork / join ?!), per favore fatemelo sapere.
Ogni esempio è apprezzato!