我有从XML应用程序传递的XML格式数据。传递XML多级数据作为参数并在存储过程中使用
在SQL Server存储过程中,此数据作为XML参数传入。我想读取并保存所需表格中的数据,如TblOrder
和TblItem
。
在XML中,将会有多个订单。每个订单都相应地包含一个或多个项目。在其操作需要
结构来实现:
<?xml version="1.0" encoding="UTF-8"?>
<Orders>
<Order>
<B2>B2**ABIJ**0000884443**PP</B2>
<CreateBy null="true" />
<CreateDate>/Date(1485150414358)/</CreateDate>
<CurrencyId>1</CurrencyId>
<CustomerId>13</CustomerId>
<DeliveryAddress>LIBERTY PRESS LLC</DeliveryAddress>
<DeliveryCity>SPRINGVILLE UT 84663</DeliveryCity>
<DeliveryCityId>0</DeliveryCityId>
<DeliveryDate>/Date(1478750400000)/</DeliveryDate>
<DeliveryId>14</DeliveryId>
<DeliveryState>UT</DeliveryState>
<DeliveryStateId>16</DeliveryStateId>
<DeliveryType>Delivery</DeliveryType>
<EquipmentId>4</EquipmentId>
<Items>
<Item>
<CSA>false</CSA>
<CTPAT>false</CTPAT>
<CommodityItem>General Freight</CommodityItem>
<CommodityItemId>0</CommodityItemId>
<CustCommodityItem null="true" />
<FAST>false</FAST>
<Hazmat>false</Hazmat>
<Height null="true" />
<IsActive>false</IsActive>
<ItemId>0</ItemId>
<ItemName>Item A</ItemName>
<Length null="true" />
<Make null="true" />
<Mass null="true" />
<MassUnit null="true" />
<Model null="true" />
<OrderId>0</OrderId>
<PIP>false</PIP>
<PilotCar>false</PilotCar>
<ReeferTemp null="true" />
<Tarp>false</Tarp>
<TrailerType null="true" />
<TruckType null="true" />
<VIN null="true" />
<Width null="true" />
<Year null="true" />
</Item>
</Items>
<L11>L11*SYL884443*BM</L11>
<LastUpdate>/Date(1485150414358)/</LastUpdate>
</Order>
<Order>
...
<Items>
<Item>
...
</Item>
</Order>
</Orders>
步骤我要实现的是:从存储过程,这是从.NET应用程序传递
- 读取XML参数。
- 循环遍历XML并在
TblOrder
和TblItem
表
通过文章去保存数据如下:
- Pass-XML-parameter-to-Stored-Procedure
- How to loop and parse xml parameter in sql server stored procedure
我上心访问第一级(在我的情况下,订单顺序)。 前进有问题访问第二级,这将是一个集合(在我的情况下,项目的订单项目)。
预先感谢您的支持
我不知道你的问题是什么 –
为什么你要在解析SQL XML时,你可以在C#中做? – jdweng
我有Schenerio,我需要从.Net应用程序传递XML数据作为参数。 – UJS