尝试使用XML节点从XML提取IP

游戏世界

从下面的XML,我正在尝试提取IP,但这不起作用..我不确定我在哪里出错

declare @xml xml

set @xml='<auditElement>
  <RequestOrigination>
    <IP>20.20.20.20</IP>
     </RequestOrigination>
</auditElement>'

我的尝试

select 
 b.value('@IP[1]','nvarchar(100)')
 from  @xml.nodes('/auditElement/RequestOrigination') as org(b)

需要的输出:

IP
20.20.20.20
Shnugo

不需要.nodes()...

并且不需要@之前IP这将尝试读取称为“ IP”属性,但是您正在读取text()*元素的内容(-node)。您的代码适用于以下情况:

<SomeElement IP="20.20.20.20">

您可以像下面这样使用.value()full XPath

declare @xml xml

set @xml='<auditElement>
  <RequestOrigination>
    <IP>20.20.20.20</IP>
     </RequestOrigination>
</auditElement>';

SELECT @xml.value('(/auditElement/RequestOrigination/IP/text())[1]','varchar(20)');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章