簡體   English   中英

XPath根據SQL Server xml中的屬性“B”獲取屬性“A”的值

[英]XPath get value of attribute 'A' based on attribute 'B' in SQL Server xml

我在SQL Server中有這個XML

<data>
<add key="images" value="image/path/img.gif" />
<data>

我想用key =“images”選擇每個“add”節點的value屬性

我現在擁有的是:

SELECT ID, Data from Items 
where Data.value('(//data/add[@key="images"]/@value)[1]', 'nvarchar') Like '%img%'

有什么建議?

如果只是為從XML檢索的nvarchar指定大小,那么你的工作正常。

SELECT ID, Data
from Items 
where Data.value('(//data/add[@key="images"]/@value)[1]', 'nvarchar(100)') Like '%img%'

在這里我指定了100你可以將它設置為更適合你情況的東西。 沒有大小,列的大小為1

使用此XPath表達式

(//data
    /add
      [@key="images"]
         /@value
            [contains(.,"img")]
 )
 [1]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM