2013-01-08 91 views

回答

0

你需要把圖形轉換成XML,或者你有一些格式已經是數據?

第一個很難,第二個你可以看看Boost::Graph

+0

從boost圖表你應該能夠導出到GraphML。 – DanDan

+0

我不是很熟悉C++,所以我不確定如何使用Boost :: Graph。將使用xml的應用程序將用java編寫。 –

+0

無論如何看看GraphML,它可能是一個很好的格式,你可以使用。 – DanDan

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> 

即可投入的模式,其中,例如,您可以實現的「末端」屬性進行到那些在圖(即存在頂點的IDS引用要求這一切。 ,請在XML Schema文檔中查找xs:ID和xs:IDREF)。

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

1

恕我直言,你不應該試圖另起爐竈,只需使用已有的基於XML的圖形格式之一:GraphML,XGMMLGXL。 GraphML似乎是最容易開始的。