2016-03-08 69 views
1

替換該內容的<apipAccessbility>元素在多行一個新的元素與XML類型的列:替換SQL服務器與新元素的XML元素

<Item title="1234" xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"> 
    <ItemBody>xyz</ItemBody> 
    <apipAccessibility xmlns="http://www.imsglobal.org/xsd/apip/apipv1p0/imsapip_qtiv1p0"> 
     <accessibilityInfo> 
     Blablah 
     </accessibilityInfo> 
    </apipAccessibility> 
</Item> 

一旦元素被更新就應該是這樣的:

<Item title="1234" xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2"> 
    <ItemBody>xyz</ItemBody> 
    <apipAccessibility xmlns="http://www.imsglobal.org/xsd/apip/apipv1p0/imsapip_qtiv1p0"/> 
</Item> 

回答

2

你可以使用modifydelete

UPDATE tab 
SET col.modify(' 
    declare namespace NS="http://www.imsglobal.org/xsd/imsqti_v2p2"; 
    declare namespace NS2="http://www.imsglobal.org/xsd/apip/apipv1p0/imsapip_qtiv1p0"; 
    delete /NS:Item/NS2:apipAccessibility/*') 
-- WHERE id = 1; 

LiveDemo

輸出:

<Item xmlns="http://www.imsglobal.org/xsd/imsqti_v2p2" title="1234"> 
    <ItemBody>xyz</ItemBody> 
    <apipAccessibility xmlns="http://www.imsglobal.org/xsd/apip/apipv1p0/imsapip_qtiv1p0" /> 
</Item>