0
데이터베이스의 입력 된 xml 열에 저장된 메뉴 xml에서 일부 노드를 삭제하려고합니다.SQL Server - xml 유형 열 - XML DML
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.
: 메뉴 XML에서
발췌문 -이 오류를
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])
')
그러나 점점 -
<menu xmlns="http://xxx" ..>
<menuItem name="Menu1">
<menuItem name="SubMenu1">
<role>role1</role>
<url target="webPage1.aspx" />
</menuItem>
</menuItem>
나는 다음 XML DML을 사용하여 menuItem = "SubMenu1"
에서 <role>
을 삭제하는 것을 시도하고있다 제발 할 수있어. 내가 여기서 뭘 놓치고 있는지.
감사합니다.
내가 여러 노드가있는 경우에, 나는 만 갖는 삭제할 수 있도록, 또한 내가 텍스트 'role1'와 노드를 삭제할 수있는 방법을 안내시겠습니까 :-) 알고 좋은 특정 텍스트 값. –
iniki
@iniki -'ns : role [1]'을'ns : role [.]로 대체하십시오. = "role1"]'이고 값이 'role1' 인 모든' '노드가 삭제됩니다. –
답장을 보내 주셔서 감사합니다.하지만이 오류가 발생합니다 - 복합 콘텐츠 요소에 'fn : data()'를 암시 적으로 적용하거나 적용 할 수 없습니다. 'xs : anyType'in inferred type '요소 (ns {xxx} xs : anyType) '. – iniki