• 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