我想从存储在数据库中键入的 xml 列中的菜单 xml 中删除一些节点。
来自菜单 xml 的片段 -
<menu xmlns="http://xxx" ..>
<menuItem name="Menu1">
<menuItem name="SubMenu1">
<role>role1</role>
<url target="webPage1.aspx" />
</menuItem>
</menuItem>
我正在尝试<role>
使用menuItem = "SubMenu1"
以下 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])
')
但收到此错误:
消息 6965,级别 16,状态 1,第 1 行
XML 验证:内容无效。预期元素:http://xxx:role,其中指定了元素“http://xxx:url”。
可以请指导我在这里缺少什么。
谢谢!