有人能夠幫助我如何實現這一點,或者至少可以使用此算法。將樹結構解析爲關係式數據存儲
我想要做的是將層次結構/樹結構文件解析到關係存儲中。我將在下面進一步解釋一個例子。
這是一個示例源文件,只是針對此問題的簡單/非實際示例。
<title text=「title1">
<comment id=「comment1">
<data> this is part of comment one</data>
<data> this is some more of comment one</data>
</comment>
<comment id=「comment2」>
<data> this is part of comment two</data>
<data> this is some more of comment two</data>
<data> this is even some more of comment two</data>
</comment>
</title>
所以這裏要注意的主要事情是,<comment>
數量,以及<data>
元素爲每個評論的數量可以是任意的。因此,鑑於上述情況,我會想變成的東西看起來像:
title | comment | data
------------------------------------------------------------------------
title1 comment1 this is some part of comment one
title1 comment1 this is some more of comment one
title1 comment2 this is part of comment two
title1 comment2 this is some more of comment two
title1 comment2 this is even some more of comment two
爲了做到這一點,可以說我可以指定以下方式的關係模式,使用XPath表達式,可以是在源文件上評估。
attribute1: title = /title/@title
attribute2: comment = /title/comment/@id
attribute3: data = /title/comment/data/text()
建議的數據結構:
- ResultSet是一個
List<Map<String,String>>
(其中:每個圖表示單個行) - Schema是一個
Map<String,String>
(其中:我們映射屬性名 - - >路徑表達式) - 源文件,部分
DOM Document
你可以使用像這樣的東西:'HashMap
我不確定你在這裏問什麼 - 這將是一種方式來存儲它。一旦儲存後你想如何使用它? – Tom
問題是,基本上,如何實現解析器,即給定一個任意的源文件和模式映射,如何將其轉換爲關係式存儲,如圖所示。 – Larry