Hi,
How would I iterate through an XML object to obtain each specific row 1 at a time. I was trying this way, but value requires a literal for both parameters. Not sure what to do?
ALTER PROCEDURE [dbo].[XMLUpdateTest]
-- Add the parameters for the stored procedure here
@XmlList XML,
@RowCount int,
AS
BEGIN
Declare @Count int
Declare @ObjectName varchar(50)
Declare @ColumnName varchar(50)
Declare @Property varchar(50)
Declare @Value varchar(50)
Declare @ParObjectName varchar(50)
Declare @ParColumnName varchar(50)
Declare @ParProperty varchar(50)
Declare @ParValue varchar(50)
set @Count=0
while(@Count<@RowCount)
BEGIN
set @ParObjectName=@ObjectName+'['+convert(varchar(2), @Count)+']' --@ObjectName[3]
set @ParColumnName=@ColumnName+'['+convert(varchar(2), @Count)+']' --@ObjectName[3]
set @ParProperty=@Property+'['+convert(varchar(2), @Count)+']' --@ObjectName[3]
set @ParValue=@Value+'['+convert(varchar(2), @Count)+']' --@ObjectName[3]
Select XmlList.Row.value(@ParObjectName,'varchar(50)'),
XmlList.Row.value(@ParColumnName,'varchar(50)'),
XmlList.Row.value(@ParProperty,'varchar(50)'),
XmlList.Row.value(@ParValue,'varchar(50)')
from @XmlList.nodes('//Rows/Row') as XmlList(Row)
set @Count=@Count +1
END
Thanks for the help