在XML文档中为所有集合提供单独的根节点的任何优势?

我没有那么多的 XML文件.但我现在正在编写一个应用程序,以XML格式保存其数据.

到目前为止,我已经提出了以下基本结构.

<?xml version="1.0" encoding="utf-8"?>
<categories>
  <category id="cf6cb6bc-8142-4366-9b43-0ae6fce90df2">
    <subcategories>
      <subcategory id="02b95e55-a4f7-4979-b0aa-a97f2c3327b0">
        <articles>
          <article ... />
          <article ... />
        </articles>
      </subcategory>
      <subcategory id="5e9f9ef7-5190-4bcd-ab98-935d9208a4c7">
        <articles>
          <article ... />
          <article ... />
        </articles>
      </subcategory>
      <subcategory id="7077d614-d3de-42d3-851a-b8c9ce0f56df">
        <articles>
          <article ... />
          <article ... />
        </articles>
      </subcategory>
    </subcategories>
  </category>
</categories>

但看了之后,似乎这里有一些不必要的元素,并且相同的数据可以缩短为以下内容

<?xml version="1.0" encoding="utf-8"?>
<categories>
  <category id="cf6cb6bc-8142-4366-9b43-0ae6fce90df2">
    <subcategory id="02b95e55-a4f7-4979-b0aa-a97f2c3327b0">
      <article ... />
      <article ... />
    </subcategory>
    <subcategory id="5e9f9ef7-5190-4bcd-ab98-935d9208a4c7">
      <article ... />
      <article ... />
    </subcategory>
    <subcategory id="7077d614-d3de-42d3-851a-b8c9ce0f56df">
      <article ... />
      <article ... />
    </subcategory>
  </category>
</categories>

整个文件似乎需要一个根节点.但是,并不是所有子类别和文章都需要专用的根节点.因此,我的缩短版本只是将所有子类别直接转储到类别标记下,并直接转储到子类别标记下的所有文章.

有兴趣使用XML文件的人可以告诉我是否有任何理由不使用上面的缩短版本.

解决方法

如果每个父节点只有一个并且它们没有自己的属性或特殊数据,我认为没有理由拥有额外的层次结构.我只是直接在子类别和子类别下的文章下面的子类别.我个人喜欢让事情干净简单:)

编辑:我同意@JimGarrison,如果你有那个级别的其他数据,从你的例子中你似乎没有,那么将它们分组在一个节点下就会有一个优势.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念