I have an xml column in my table like following:
<info>
<teacher>
<name>John</name>
</teacher>
<StInfo>
<name>William</name>
<address>India</address>
</StInfo>
</info>
I have to just update to
<info>
<teacher>
<name>John</name>
</teacher>
<Student>
<name>William</name>
<address>India</address>
</Student>
</info>
I've built an example for you in SQL Server using your data:
DECLARE @StackExample TABLE (
Id UNIQUEIDENTIFIER NOT NULL PRIMARY KEY DEFAULT(NEWID())
,XmlColumn XML
)
INSERT INTO @StackExample(XmlColumn) VALUES('<info>
<StInfo>
<name>William</name>
<address>India</address>
</StInfo>
</info>')
UPDATE T
SET XmlColumn = XmlColumn.query('<info>
<Student>
{info/StInfo/*}
</Student>
</info>')
FROM @StackExample t
SELECT * FROM @StackExample
I hope this can help