我使用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。你有什么尝试? –