如何构建这个xml?

时间:2012-01-24 07:26:01

标签: xml

让我们说我正在为超级英雄组制作一个xml文件,我的xml看起来像这样 -

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="sh.xsl" type="text/xsl" ?>
<superheroGroups>
    <group>
        <title>X-Men</title>
        <name>Wolverine</name>
        <name>Cyclops</name>
        <name>Jean Grey</name>
        <name>Storm</name>
    </group>
    <group>
        <title>Runaways</title>
        <name>Alex Wilder</name>
        <name>Nico Minoru</name>
        <name>Karolina Dean</name>
        <name>Gertrude Yorkes</name>
        <name>Chase Stein</name>
        <name>Molly Hayes</name>
    </group>
    <group>
        <title>Avengers</title>
        <name>Iron Man</name>
        <name>Ant Man</name>
        <name>Wasp</name>
        <name>Hulk</name>
        <name>Captain America</name>
    </group>
    <group>
        <title>Fantastic Four</title>
        <name>Mr Fantastic</name>
        <name>Invisible Woman</name>
        <name>Human Torch</name>
        <name>Thing</name>
    </group>
</superheroGroups>

这看起来是正确的还是我的结构存在缺陷?组中的所有英雄是否应该在成员下的节点中?

2 个答案:

答案 0 :(得分:3)

这取决于你如何构建它 - 但我个人可能会将每个组的标题作为属性:

<group title="Avengers">
    <name>Iron Man</name>
    <name>Ant Man</name>
    <name>Wasp</name>
    <name>Hulk</name>
    <name>Captain America</name>
</group>

有时使用属性可能比使用内容更简单:

<group title="Avengers">
    <member name="Iron Man" />
    <member name="Ant Man" />
    <member name="Wasp" />
    <member name="Hulk" />
</group>

答案 1 :(得分:0)

我会将英雄移动到单独的节点,以便更简单地序列化/反序列化,或者将标题作为属性。