我有以下 XML:-
<XML>
<ProductDetail>
<ProductId>1</ProductId>
<PropertyDetail>
<PropertyKey>Size</PropertyKey>
<PropertyValue>XXL</PropertyValue>
<PropertyKey>ProdTaxType</PropertyKey>
<PropertyValue>5%</PropertyValue>
<PropertyKey>Incl/Excl</PropertyKey>
<PropertyValue>True</PropertyValue>
<PropertyKey>Fit</PropertyKey>
<PropertyValue>SLIM F/S</PropertyValue>
</PropertyDetail>
</ProductDetail>
</XML>
但是,我得到的结果如下:
ProductId PropertyKey PropertyValue
1 Size XXL
我需要使用 openxml 获取所有 PropertyDetail。我在 MS SQL 2012 的存储过程中的小查询如下:
SELECT XML.ProductId, XML.PropertyKey, XML.PropertyValue FROM
OPENXML (@hDoc, '/XML/*', 2) WITH (
ProductId INT 'ProductId',
PropertyKey VARCHAR(200) 'PropertyDetail/PropertyKey',
PropertyValue VARCHAR(200) 'PropertyDetail/PropertyValue'
) XML
最终结果如下所示:
ProductId PropertyKey PropertyValue
1 Size XXL
1 ProdTaxType 5%
1 Incl/Excl True
1 Fit SLIM F/S