我想表示一个无向图,就像这样:
http://cnx.org/content/m29399/latest/Picture%202.png
进入xml文件。 我不确定如何开始。
编辑:我想要xml格式的数据,所以我可以使用xml重建图形。
提前致谢
答案 0 :(得分:1)
答案 1 :(得分:0)
您是否需要将图形转换为xml,或者您是否已经拥有某种格式的数据?
第一个很难,第二个你可以看看Boost::Graph。
答案 2 :(得分:0)
图形由顶点和边组成。因此,在顶层,XML描述应该如下所示
<graph>
<vertices>...</vertices>
<edges>...</edges>
</graph>
<vertices>
容器将有<vertex>
个元素来携带每个顶点的信息。特别是,您将需要一个唯一的标识符,边可以通过该标识符引用顶点。所以,像这样
<vertices>
<vertex id="A">other information, if needed</vertex>
<vertex id="B">...</vertex>
...
</vertices>
<edge>
容器内的每个<edges>
至少需要三条信息:连接的顶点和边缘的权重。因此,例如
<edges>
<edge ends="A B">7</edge>
<edge ends="B C">8</edge>
...
</edges>
您可以将所有这些放入一个模式中,例如,您可以强制要求“ends”属性包含对图中存在的顶点的id的引用(即,查找xs:ID和xs :XML Schema文档中的IDREF。)
答案 3 :(得分:0)
我一直在尝试,这似乎有效:
<Nodes>
<Node>
<Name>A</Name>
</Node>
<Node>
<Name>B</Name>
</Node>
....
</Nodes>
<Routes>
<Route>
<from>A</from>
<to>B</to>
<cost>7</cost>
</Route>
....
</Routes>
可能不是最好的方式,但这对我有用:)enter code here