我有三个table1, table2, table3
带有col1, col2
标识ID
列的表。这些表关系是在数据库中定义的。
我正在尝试创建一个接受 xml 字符串输入并将该数据保存到表中的存储过程。
这是 XML 输入
<root>
<table1 col1='a' col2='b'>
<table2Array>
<table2 col1='c' col2='d'>
<table3array>
<table3 col1='g' col2='h' />
<table3 col1='i' col2='j' />
</table3array>
</table2>
<table2 col1='c' col2='d'>
<table3array>
<table3 col1='k' col2='l' />
<table3 col1='i' col2='j' />
</table3array>
</table2>
</table2Array>
</table1>
<table1 col1='a' col2='b'>
<table2Array>
<table2 col1='e' col2='f'>
<table3array>
<table3 col1='i' col2='j' />
<table3 col1='i' col2='j' />
</table3array>
</table2>
<table2 col1='e' col2='f'>
<table3array>
<table3 col1='g' col2='h' />
<table3 col1='g' col2='h' />
</table3array>
</table2>
</table2Array>
</table1>
</root>
此 xml 来自第三方对象,我们无法控制修改第三方对象以发出不同格式的 xml。
算法:
- 循环遍历每个节点
- 将节点属性插入表中
- 获取最后一个身份值
- 调用具有最后一个标识值的子节点作为外键
- 做直到没有更多的子节点
这是处理这种情况的唯一方法吗?如果是这样,如何遍历 xml 节点?
请帮忙!!
谢谢,
埃森