我在读取和加载属于VB 2005中另一个集合的集合的项目时遇到问题。这些都是XML文件的节点。例如:
Toto是XML文件中的节点,是Tocollect的集合项,也是Tocollect的子节点,Tocollect是Collect的项目和它的子节点。
编写代码时,这种情况和单个对象属于集合或集合属于对象有什么区别吗?
答案 0 :(得分:0)
在.NET中有引用类型和值类型。绝大多数类都是引用类型,这意味着作为某个类实例的变量是C ++指针的类似物。
因此,两个不同集合中的两个项是相同的东西/变量/实例/指针。
答案 1 :(得分:0)
通常,如果您的对象在层次结构中连接,那么您的xml应该反映该层次结构。例如。
您的节点有一堆节点,其中有一堆节点。
这与你有一个列表然后另一个单独列表的所有列表的方案相反。 现在,如果使用唯一ID将节点绑定在一起,则可以维护三个单独的列表(在数据库中处理类似于表)。但是,当您读入XML以将其转换为对象层次结构时,您将有一个额外的步骤。
至于存储层次结构。基本上你有每个对象实现一个Read和一个Store方法。如果父级包含子级,那么它应该循环遍历每个子级,调用它的存储方法将传递它的流或参数传递给正确的位置。