Я хочу удалить некоторые узлы из меню 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'.
Подскажите, пожалуйста, что мне здесь не хватает.
Спасибо!