【问题标题】:undirected weighted graph to xml无向加权图到 xml
【发布时间】:2013-01-08 14:10:34
【问题描述】:

我想表示一个无向图,比如这个:

http://cnx.org/content/m29399/latest/Picture%202.png

到一个 xml 文件中。 我不确定如何开始。

编辑:我想要 xml 格式的数据,所以我可以使用 xml 重建图形。

提前致谢

【问题讨论】:

    标签: xml graph weighted


    【解决方案1】:

    恕我直言,您不应该尝试重新发明轮子,只需使用现有的基于 XML 的图形格式之一:GraphMLXGMMLGXL。 GraphML 似乎是最容易上手的。

    【讨论】:

      【解决方案2】:

      您是否需要将图形转换为 xml,或者您是否已经拥有某种格式的数据?

      第一个很难,第二个你可以看看Boost::Graph

      【讨论】:

      • 从 boost graph 你应该能够导出到 GraphML。
      • 我对c++不是很熟悉,所以不确定如何使用Boost::Graph。将使用 xml 的应用程序将用 java 编写。
      • 不管怎样,看看 GraphML,它可能是一个很好的格式。
      【解决方案3】:

      图由顶点和边组成。所以在顶层,XML 描述应该是这样的

      <graph>
          <vertices>...</vertices>
          <edges>...</edges>
      </graph>
      

      &lt;vertices&gt; 容器将有 &lt;vertex&gt; 元素来携带每个顶点的信息。特别是,您将需要一个唯一标识符,边可以通过该标识符引用顶点。所以,像这样的

          <vertices>
              <vertex id="A">other information, if needed</vertex>
              <vertex id="B">...</vertex>
              ...
          </vertices>
      

      &lt;edges&gt; 容器内的每个&lt;edge&gt; 至少需要三条信息:连接的顶点和边缘的权重。因此,例如

          <edges>
              <edge ends="A B">7</edge>
              <edge ends="B C">8</edge>
              ...
          </edges> 
      

      您可以将所有这些放入一个模式中,例如,您可以强制要求“ends”属性携带对图中确实存在的顶点 ID 的引用(即查找 xs:ID 和 xs :IDREF 在 XML Schema 文档中)。

      【讨论】:

        【解决方案4】:

        我一直在尝试,这似乎奏效了:

           <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

        【讨论】:

          猜你喜欢
          • 2021-11-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-10-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多