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 =
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.