I want to delete some nodes from menu xml that is being stored in a typed xml column in database.
Snippet from menu xml -
<menu xmlns="http://xxx" ..>
<menuItem name="Menu1">
<menuItem name="SubMenu1">
<role>role1</role>
<url target="webPage1.aspx" />
</menuItem>
</menuItem>
I am trying to delete <role>
under menuItem = "SubMenu1"
using following XML DML -
UPDATE [dbo].[MenuTest]
SET xmlMenu.modify('
declare namespace ns="http://xxx";
delete(/ns:menu/ns:menuItem[@name="Menu1"]/ns:menuItem[@name="SubMenu1"]/ns:role[1])
')
But getting this error:
Msg 6965, Level 16, State 1, Line 1
XML Validation: Invalid content. Expected element(s):http://xxx:role where element 'http://xxx:url' was specified.
Can please guide what I am missing here.
Thank you!