XML导入访问DB只导入一个子数据即使它有三个

时间:2014-03-27 15:41:04

标签: ms-access access-vba ms-access-2010

我有像这样的xml结构

   <Orders>
    <Order>
        <OrderNo>ABC</OrderNo>
        <ItemDetails>
            <Name>Shirt</Name>
            <Name>Socks</Name>
            <ItemPrice>30</ItemPrice>
            <ItemPrice>40</ItemPrice>
        </ItemDetails>
    </Order>
</Orders>

像这样我在xml中有1000个订单。因此,当我尝试将这些数据导入访问Db 2010我只获得一个项目价格&amp;项目详细信息表中的名称记录。

如何克服这个

1 个答案:

答案 0 :(得分:3)

您的XML需要以不同的方式进行组织才能执行此操作。现在,XML被编写为好像Name表中有两个ItemPrice和两个Item Details列,最终发生的是它会将它看到的第一个name列到一个记录,然后是第一个itemPrice然后没有更多的详细记录,所以其他一切都被忽略了。

你的XML看起来应该更像这样。即您需要在名称和价格之间建立一些关联,并在ItemDetail级别完成。

<Orders>
    <Order>
        <OrderNo>ABC</OrderNo>
        <ItemDetails>
            <ItemDetail>
                <Name>Shirt</Name>
                <ItemPrice>30</ItemPrice>
            </ItemDetail>
            <ItemDetail>
                <Name>Socks</Name>
                <ItemPrice>40</ItemPrice>
            </ItemDetail>
        </ItemDetails>
    </Order>
</Orders>