Mil*_*kov 2 xml tree logic structure
我知道语法是有效的,但我的问题是它是否在逻辑上有效:
<parent>
<name>John</name>
<child>Mary</child>
<child>Lucy</child>
<child>Hannah</child>
</parent>
Run Code Online (Sandbox Code Playgroud)
或者正确的方法是:
<parent>
<name>John</name>
<child>
<name>Mary</name>
</child>
<child>
<name>Lucy</name>
</child>
<child>
<name>Hannah</name>
</child>
</parent>
Run Code Online (Sandbox Code Playgroud)
是否有一些在线文件明确说明了什么是对错?
Tol*_*ayi 15
我更喜欢后者,因为它清楚地表明它是玛丽的孩子的名字,而不是玛丽的孩子自己.
我认为使用属性甚至更好,如下所示:
<parent name="John">
<child name="Mary" />
<child name="Lucy" />
<child name="Hannah" />
</parent>
Run Code Online (Sandbox Code Playgroud)
因为它清楚地表明该名称只是父/子实体的一个特征.
从可扩展性的角度来看,第二个似乎更有意义.如果您需要为第一个孩子添加生日,会发生什么?是的,你可以添加一个XML属性,但迟早会因为添加复杂类型甚至基本枚举而陷入困境.
此外 - 将子元素分组在单个"children"元素下可能更好:
<parent>
<name>John</name>
<children>
<child>
<name>Mary</name>
<dob>1970-01-01</dob>
</child>
<child>
<name>Lucy</name>
<dob>1971-01-01</dob>
</child>
<child>
<name>Hannah</name>
<dob>1974-01-01</dob>
</child>
<children>
</parent>
Run Code Online (Sandbox Code Playgroud)
还有一件事:你可能不会将孩子归为一个单一的父元素,但我已经将其与你的原始元素保持一致.