0
在下面的xml中我有三個5/Item元素,其中4個有一個Blob子元素。我想刪除具有子Blob元素的元素,但只有Item/@名稱中包含文本「Blob」的元素。sql + xquery刪除多個父節點
<Items>
<Item Name="Blob123">
<Blob/>
</Item>
<Item Name="Blob124">
<Blob/>
</Item>
<Item Name="Blob125">
<Blob/>
</Item>
<Item Name="Blob126">
</Item>
<Item Name="Xyz126">
<Blob/>
</Item>
</Items>
該查詢返回名爲'Blob%'的3/Item元素以及子/ Blob元素就好了。
select xmlVal.query('(/Items/Item[contains(@Name, "Blob")]/Blob/..)')
然而,當我嘗試刪除使用此XQuery的那些元素:我得到
select xmlVal.modify('delete (/Items/Item[contains(@Name, "Blob")]/Blob/..)')
:不正確地使用XML數據類型的方法「修改」。預計在這種情況下非增變方法。
我做錯了什麼。