就像您说的那样-这是因为原始XML数据位于XML名称空间中,如果是这种情况,则还需要在XQuery中使用该XML名称空间:
SELECT
T.Item.query('.')
FROM
@xmlData.nodes('declare namespace ns="http://myBooks";/ns:bookstore/ns:book')
AS T(Item)
您需要将该declare namespace ns="http://myBooks";
部分插入XQuery,然后使用定义的名称空间前缀ns
(实际上可以在此处使用任何东西)来引用XML对象。
马克