什么';存储有向图的XML格式好吗?

什么';存储有向图的XML格式好吗?,xml,coding-style,formatting,Xml,Coding Style,Formatting,图由多个顶点组成,每个顶点都有一些属性,以及两个顶点之间的有向边 什么样的XML格式可以存储这样的数据 <graph> <vertices> <vertex> <name>foobar</name> <vertexproperties> <vertexproperty> <name>p1</name>

图由多个顶点组成,每个顶点都有一些属性,以及两个顶点之间的有向边

什么样的XML格式可以存储这样的数据

<graph>
  <vertices>
    <vertex>
      <name>foobar</name>
      <vertexproperties>
        <vertexproperty>
          <name>p1</name>
          <value>v1</value>
        </vertexproperty>
        <vertexproperty>
          <name>p2</name>
          <value>v2</value>
        </vertexproperty>
      </vertexproperties>
    </vertex>
  </vertices>
  <edges>
    <edge>
      <startingVertex>foo<endVertex>
      <endingVertex>bar<endingVertex>
    </edge>
  </edges>
</graph>

福巴
p1
v1
p2
v2
福
酒吧
这对
有用吗?为什么?

还有其他建议吗


我不熟悉XML和图形计算。

您可以看看图形格式的比较:


是推荐的,似乎符合您的要求。在任何情况下,其他一些可能也适用于您。

如果您的主要目标是可视化地呈现图形,请查看DotML,它是GraphViz使用的点语言的XML语法

我不太喜欢抽象属性语法,那是像

<property name="foo" value="bar"/>

XML被设计成可扩展的,那么为什么不使用它呢

<foo>bar</foo>

人们使用第一种形式的原因之一是,他们认为可以编写一个“更紧密”的模式来保持它的有效性。但是您也可以为后一种形式编写模式(使用通配符),它同样有用。

看起来不错。这真的取决于您将如何处理XML…因此,我的原始帖子中的代码使用了第二种样式,并且由于您所说的原因更好?您认为拥有
的必要性和/或实用性如何?它更易于迭代和扩展,例如,您可以在一个数据库表中添加一个表示键值对的额外属性,瞧,它在不更改XML模式的情况下显示了所有良好和有效的属性,为了保持可扩展性,您不必求助于抽象属性语法。