用XML表示图形

P b*_*sak 1 xml graph

嗨,用XML表示图形的最佳方式是什么,其中节点可以是父节点的子节点,也可以是另一个子节点的父节点.它可以引用自身,多个节点可以拥有相同的父节点.一个节点可以有多个父节点.所有节点都来自同一个类.我想有效地构建它,这样如果我可以从父节点了解子节点,我可以转到特定的子标签,而不必迭代所有节点.可能吗?例如这里是一个概述,

A->B,C,D

B->C,D
Run Code Online (Sandbox Code Playgroud)

它可能看起来像

<Node name=A>
 <childNode name=B>
 <childNode name=C>
 <childNode name=D>
</Node>

<Node name=B>
 <childNode name=C>
 <childNode name=D>
</Node>
Run Code Online (Sandbox Code Playgroud)

那么还有比这更好的方法吗?每当我从A ie B获得一个孩子时,我将不得不基本遍历所有节点并将名称属性与B匹配以找到代表B的节点.我能以某种方式更快地完成它吗?

Ton*_*ony 6

既然您有一个图形,而不是您最初想到的树,为什么不使用GraphML

GraphML是一种全面且易于使用的图形文件格式.它由描述图形结构属性的语言核心和添加特定于应用程序的数据的灵活扩展机制组成.

与图形的许多其他文件格式不同,GraphML不使用自定义语法.相反,它基于XML,因此非常适合作为各种服务生成,存档或处理图形的共同点.