结构经常被定义为组织。组织的真正的意思仅仅是指各项目排列的位置。但是问题是“这些项目应该位于何处?”当我们谈论xml文档和它们的相关结构时,我们真正的意思是那些元素以同属关系和父子关系聚集在一起的方式。得到有组织的xml的第一部分就是懂得何时使用何种关系。
xml文档中的同属元素是指共享同一个父元素的元素。一个xml也有可能没有同属元素,例如:
<parent>
<onlyChild>
<onlyGrandChild/>
</onlyChild>
</parent>
就像你看到的那样,parent元素只有一个子元素onlyChild,而那个子元素也只有一个子元素onlyGrandChild。也有可能没有子元素,虽然这个可能仅仅是理论上的:
<sisterMary/>
就像你看到的那样,sisterMary是根元素并且它既没有子元素也没有同属元素。记住:xml规则规定每一个xml文档至少要有一个根元素,这是很重要的。
现在让我们回到同属的讨论。每个同属元素共享一个相同的父元素,因此要得到同属,你需要从一个父元素开始并在它下面制造两个子元素:
<parent>
<childOne/>
<childTwo/>
</parent>
childOne和childTwo都是parent元素的子元素,同样,childOne和childTwo就是共享同一个父元素的同属元素。
到目前为止我们的例子是非常简单的并且意思清楚(对于大多数而言)。但是让我们将问题弄复杂一点。如果我们的父元素包含的不是子元素会如何?同样,我们只有一个父元素,但是大多数的孩子来自父母双亲。让我们假设父母有两条狗,一个猫,每人有一辆车。
描述这些可能是简单的也可能是困难的,这取决于你如何构造他们。让我们从具有双亲这个主要问题开始。xml不允许一个元素有两个父元素。每个元素(除了根元素)必须有且仅有一个父元素。为了描述我们的家庭,我们需要使用不同的技术。