【发布时间】:2017-11-15 06:52:14
【问题描述】:
我想从此 xml 中获取一个节点“RID”:
<ts:Status xmlns:ts="DistServices">
<RID>
5ec827e9-0429-4f5a-9d4b-16d3503ff07b
</RID>
<PIN>
5678
</PIN>
</ts:Status>
我在 SQL Server 2012 中使用以下查询:
DECLARE @data xml
DECLARE @RID varchar(256)
select @data = CAST(CAST(Data AS text) AS XML) from message where index=1
select @data
SET @RID = @data.value('(/ReplicationStatus/RID)[1]', 'varchar(256)' )
SELECT @RID
这里,数据是 ntext。我将它从 ntext 转换为 text 再转换为 xml 两次。现在,我得到了 xml 格式的 @data。但返回的 RID 始终为空。有人可以帮我解决这个问题吗?
【问题讨论】:
标签: sql xml parsing sql-server-2012