我正致力于解析具有某种层次结构的纯文本文件。 我知道某种递归后代算法应该能够帮助解决这个问题。但我没有这方面的经验。
示例文件:
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)
我想过用代码创建一个参考树以及它们在层次结构中的位置,然后我需要一个算法来匹配代码并查看它是否有子代。
任何帮助,算法,方向都将受到高度赞赏。
非常感谢!