以XML表示深度嵌套的数据

时间:2019-04-02 12:37:13

标签: xml database database-design

我具有以下数据模式的数据:

Software
+
|
|  Microsoft
|   +
|   +--->Windows 10
+-->+
|   +--->Windows 7
|
| Google
|   +
|   +-->Chrome
+-->+
    +-->Orkut

我想以最佳方式嵌套此XML解析器可重复使用的嵌套,我最初的想法是这样做:

<?xml version="1.0"?>
<Software Name = "Company Software">
  <HeadProduct Name = "Google">
    <Product>Chrome</Product>
    <Product>Orkut</Product>
  </HeadProduct>
  <HeadProduct Name = "Microsoft">
    <Product>Windows 10</Product>
    <Product>Windows 7</Product>
  </HeadProduct>
</Software>

但是,我的直觉告诉我这是一个问题,绝对不是我的意图。这是原因:

虽然GoogleMicrosoft只是属性,而Windows 10Orkut是元素。我想在某个地方我也希望GoogleMicrosoft作为元素。总而言之,我认为我没有正确地将架构转换为XML。

任何帮助都是有益的。

1 个答案:

答案 0 :(得分:1)

如果要避免使用属性,这可能对您有用。

<?xml version="1.0"?>
<Software>
    <Name>Company Software</Name>
    <HeadProducts>
        <HeadProduct>
            <Name>Google</Name>
            <Products>
                <Product>Chrome</Product>
                <Product>Orkut</Product>
            </Products>
        </HeadProduct>
        <HeadProduct>
            <Name>Microsoft</Name>
            <Products>
                <Product>Windows 10</Product>
                <Product>Windows 7</Product>
            </Products>
        </HeadProduct>
    </HeadProducts>
</Software>