[英]SQL Query which deletes an attribute in XML
我有 XML 類型的專欄。有一個像這樣的 xml
<items>
<item type="xxx"><items>
<item type="xxx"><items>
</items>
我需要刪除所有類型屬性。 我知道 oracle 有一些用於 xml 操作的功能,但我不知道如何刪除屬性。
這樣的查詢會是什么樣子?
這是一個使用 Oracle 提供的示例 SQL function deletexml
感謝 Jonas Lincoln,因為我正在使用他的 XPATH 表達式
SELECT deleteXML(xmltype.CREATEXML('<items>
<item type="xxx">a</item>
<item type="xxx">b</item>
</items>'),
'/items/item[@type="xxx"]/@type')
FROM dual
<items>
<item>a</item>
<item>b</item>
</items>
declare @xml as xml
set @xml = '
<items>
<item type="xxx">3</item>
<item type="xxx">4</item>
</items>'
SET @xml.modify('delete (/items/item[@type="xxx"]/@type)')
select cast(@xml as nvarchar(100))
<items>
<item>3</item>
<item>4</item>
</items>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.