bdba,
I altered the query a bit. Here is the new version
SELECT
p.value('@Name', 'varchar(15)') AS ProductName,
p.value('@ID', 'int') AS ProductID,
i.value('@Keyname', 'varchar(15)') AS ItemName,
i.value('@Keyvalue', 'varchar(15)') AS ItemValue
FROM @MyXML.nodes('/MyXML/Product') x(p)
CROSS APPLY p.nodes('Item') y(i)
/*
ProductName ProductID ItemName ItemValue
--------------- ----------- --------------- ---------------
MyProduct 12354 MyItem MyItemValue
MyProduct 12354 MyPrice MyPriceValue
MyProduct1 1235456 MyItem1 MyItemValue1
MyProduct1 1235456 MyPrice1 MyPriceValue1
*/
.