Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server XML查询()-缺少父节点或命名空间_Sql_Sql Server_Xml_Xquery - Fatal编程技术网

SQL Server XML查询()-缺少父节点或命名空间

SQL Server XML查询()-缺少父节点或命名空间,sql,sql-server,xml,xquery,Sql,Sql Server,Xml,Xquery,我们需要通过查询XML文档的子部分,从存储在SQLServer数据库中的XML记录中查询连接的标记。唯一棘手的问题是,我们的一些记录缺少父节点,而其他记录则没有。另一方面,有些记录在根目录中包含名称空间,而另一些记录则不包含名称空间 因此,这里有两件事,我们如何调整query()中的路径以忽略名称空间并查询所有mynode部分,而不考虑名称空间。以及如何查询所有mynode节,而不管是否存在根节点 select xmlCol.query('*:rootnode/*:mynode/*')

我们需要通过查询XML文档的子部分,从存储在SQLServer数据库中的XML记录中查询连接的标记。唯一棘手的问题是,我们的一些记录缺少父节点,而其他记录则没有。另一方面,有些记录在根目录中包含名称空间,而另一些记录则不包含名称空间

因此,这里有两件事,我们如何调整
query()
中的路径以忽略名称空间并查询所有mynode部分,而不考虑名称空间。以及如何查询所有mynode节,而不管是否存在根节点

select 
    xmlCol.query('*:rootnode/*:mynode/*') 
from 
    DataTable
在此方面的任何帮助都将不胜感激

谢谢

祝您愉快

您可以使用双斜杠(//)查找节点,独立于父节点所属的节点

所以我想应该是这样的

select xmlCol.query('//mynode/*') from DataTable
但是更多关于你的桌子的信息会很有帮助

希望有帮助