我可以从附加的快照中看到一组数据。可以看出,它是一组重复数据。我正在尝试编写一个代码,以便代码创建一个主结构“RoadXML”,单元格中的所有后续文本都作为结构元素。
例如:“RoadXML.Network.SubNetworks.SubNetwork.RoadNetwork.Grounds.Ground”应该生成一个结构RoadXML,其结构元素为“Networks”,其中inturn是一个结构。同样,“网络”应该将“子网”作为一个结构等元素......此外,其余数据应该附加到其各自字段下的主结构中。因此,最终只有一个结构将保留excel表中的所有数据作为其结构元素。
现在的问题是,当从屏幕截图中看到excel表中存在重复的元素集时,只有最后一组数据仍然会覆盖已经存储的数据。也就是说(参考附加的屏幕截图)第30行到第34行的数据写入了第15行到第29行的所有数据,这些数据已被存储。
更新
为了更清楚一点我的问题,在从第15行到第19行的迭代过程中,我的代码将第一列的数据存储为结构,其格式如snap中所示。即 RoadXML 是一个具有 Network 的结构,而 Network 又是一个具有 SubNetworks 的结构,其中int是一个具有 SubNetwork <的结构/ em>依此类推,直到最后一个参数。最后,我们将 Ground 作为 Grounds 内的结构。
由于A15和A20是相同的数据,一旦遇到第20行,代码应该将早先结构的 Ground 转换为单元格,在具有“属性”的单元格中创建1x1结构''(结构)作为一个领域。一旦''属性''被创建,''粒度'',''抓住''; ''name''和''type''应附加到''Attributes''中,并附有B栏中的相应值。
答案 0 :(得分:0)
对于excel文件中的每一个新行:
阅读here,了解检查嵌套结构中是否存在某个字段。
如果路径的一部分存在,请开始添加现有路径结束的字段。
如果存在完整路径(包括最后一个字段),请选择您要执行的操作。覆盖?让那个领域成为一个转发者?
示例运行:
第15行:地面不存在,因此创建:
RoadXML....Ground{1,1}.Text=""
第16-19行:地面存在,添加属性
RoadXML....Ground{1,1}.Attributes.X=Y
第20行:地面包含1个单元格,因此添加一个单元格:
RoadXML....Ground{1,2}.Text=""
等等..