T-Sql xml query with namespace

前端 未结 3 544
慢半拍i
慢半拍i 2020-12-11 03:13

This is a follow up question to

T-Sql xml query

If I add a namespace to xml data, nothing is returned again.

DECLARE @xVar XML
SET @xVar = 
         


        
3条回答
  •  旧时难觅i
    2020-12-11 03:43

    If you are trying to extract data and the namespace might differ between records, you can use a wildcard for the namespace prefix. Just put "*:" before each element name in the last line of the OP's original code, like this:

    FROM   @xVar.nodes('/*:ReportData/*:ReportId[1]') AS reportdata(item) 
    

    Note that you need to use the wildcard at every level, not just at the same level as you see a namespace declaration in the xml. This is because namespaces are inherited by each level from the level above it.

提交回复
热议问题