解析由代码定义的层次结构

时间:2014-08-10 21:50:23

标签: algorithm file parsing recursion hierarchy

我正致力于解析具有某种层次结构的纯文本文件。 我知道某种递归后代算法应该能够帮助解决这个问题。但我没有这方面的经验。

示例文件:

862,"ObjectName"
863,"ObjectType"
864,5      //This code has 5 items with the code 2 
    2,Item1
        5,"SetNameItem1"
    2,Item2
        5,"SetNameItem2"
    2,Item3
        543,5             //Item 3 has 5 Subelements under the code 543
            "subItemElement1"
            "subItemElement2"
            "subItemElement3"
            "subItemElement4"
            "subItemElement5"
        181,"543_AliasName"
        175,
        181,0
        182,
    2,Item4
        543,8         //Item 4 has 8 Subelements (no code to identify them) under the code 543
            "subItemElement1"
            "subItemElement2"
            "subItemElement3"
            "subItemElement4"
            "subItemElement5"
            "subItemElement6"
            "subItemElement7"
            "subItemElement8"
        181,"543_AliasName"
        175,
        182,0
    2,Item5
        5,"SetNameItem5"
234,"Property2"
233,"Property3"
238,"Property8"

我希望将其存储在树或其他层次结构中,如下所示:

**Level1:** 846

**Level 2:** Item1,Item2,Item3,Item4,Item6,Item6

**Level3:** Item1 {2="Setname"}, Item2 {2,SetName}, Item3 {{543={subelement1,subelement2,subelement3,...},181="543_AliasName",175="",181=0,182=0}, etc.

**Level4:** etc

这很困难,因为代码864需要计算代码2的5次出现,代码2可以有代码5或代码543(具有多个子项;示例中为5)

我想过用代码创建一个参考树以及它们在层次结构中的位置,然后我需要一个算法来匹配代码并查​​看它是否有子代。

任何帮助,算法,方向都将受到高度赞赏。

非常感谢!

0 个答案:

没有答案