我使用Ruby構建將表示網絡圖的gexf格式的XML結構。該圖由幾個嵌套節點層組成。我們的想法是解析看起來是這樣的文件:構建xml時引用特定塊
| top node | middle node | bottom node |
| a | 1 | "name1" |
| b | 1 | "name6" |
| a | 2 | "name3" |
| b | 2 | "name8" |
| b | 1 | "name5" |
| a | 1 | "name2" |
| b | 2 | "name7" |
| a | 2 | "name4" |
並把它變成這樣:
<node id = a label = "top node">
<node id = 1 label = "middle node">
<node id = name1 label = "bottom node"/>
<node id = name2 label = "bottom node"/>
</node>
<node id = 2 label = "middle node">
<node id = name3 label = "bottom node"/>
<node id = name4 label = "bottom node"/>
</node>
</node>
<node id = b label = "top node">
<node id = 1 label = "middle node">
<node id = name5 label = "bottom node"/>
<node id = name6 label = "bottom node"/>
</node>
<node id = 2 label = "middle node">
<node id = name7 label = "bottom node"/>
<node id = name8 label = "bottom node"/>
</node>
</node>
正如你所看到的,因爲文件中的行是不以任何特定的順序,我需要能夠在構建XML文件時參考每個節點和子節點。
如果我的問題是目前尚不清楚,當我讀線:
| b | 1 | "name6" |
我需要能夠告訴建設者堅持這個節點「name6」內部「頂部節點B」和「中間節點1「。建築師或者Nokogiri的建築師或者其他什麼都可以嗎?
這可能與Nokogiri。你有什麼嘗試? –