XML文件是否应包含<count>节点,可以派生?</count>

时间:2010-09-28 18:49:32

标签: xml legacy-code

我目前正在使用一个大型XML文件,其中包含<Count>123</Count>的某些元素,而其他元素则没有。{1}}。例如:

<Animals>
  <Pigs>
    <Pig ...>
      ...
    </Pig>
    <Pig ...>
      ...
    </Pig>
    <PricePerPound>13<PricePerPound>
    <Count>2</Count>
  </Pigs>
  <Chikens>
    <Chicken ...>
      ...
    </Chicken>
    <Chicken ...>
      ...
    </Chicken>
    <PricePerPound>12<PricePerPound>
    <!-- No Count -->
  </Chickens>
  ...
</Animals>

因此,实际文件要复杂得多,与动物无关。我只是不会透露所有的细节。该文件在开始时加载一次并在退出时保存一次,重量约为2到5兆字节,具体取决于内容。

一方面,<Count>可能会加快一点加载时间,但可能不会。另一方面,这个价值是没有必要的,它是衍生出来的,而且上帝禁止它偏离应有的价值。计算/检索具有特定名称的节点数可能不是那么多工作(注意<PricePerPound>节点 - 如果要忽略节点的名称,它可能会搞乱计数)。我在重新设计XML方面没有太多的灵活性,而且工作量太大了。无论是在任何地方添加或删除<Count>都会有很多工作(所有那些读取和写入XML部分的庞大逻辑......),但我想为未来选择一种方法,以便我可以增量完成。

那么,哪种方式看起来更好 - 在任何地方添加或删除<Count>,或者可能使其成为可选项,并将其写入“保存”,最终使其成为强制性或其他内容?

1 个答案:

答案 0 :(得分:1)

除非有良好的性能原因,否则我认为这不是一个好的设计决定,并会投票将其从结构中删除 - 它很容易计算并且可能会损坏。