【问题标题】:Filtering XML query by attribute value按属性值过滤 XML 查询
【发布时间】:2013-06-07 22:41:48
【问题描述】:

我正在尝试从 xml 字段中提取参数,但似乎无法弄清楚如何通过参数的名称属性过滤我的参数。

XML

<parameters>
    <parameter name="id">
        <item>2</item>
    </parameter>
    <parameter name="channel">
        <item>retail</item>
        <item>wholesale</item>
    </parameter>
</parameters>

我正在尝试提取 int 2 并在随后的查询中提取单词零售和批发。

我在网上看到过很多不同的方法,但似乎都不适合我。任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: sql xml tsql xpath xquery


    【解决方案1】:

    试试这个:

    declare @x xml = '<parameters>
        <parameter name="id">
            <item>2</item>
        </parameter>
        <parameter name="channel">
            <item>retail</item>
            <item>wholesale</item>
        </parameter>
    </parameters>'
    
    select t.s.value('.', 'nvarchar(max)')
    from @x.nodes('//parameter[@name = "id"]/item') t(s)
    

    返回下表:

    2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-31
      相关资源
      最近更新 更多