我知道如何使用 xpath 从 XML 字段中选择一个值并定义命名空间,但我需要使用几个 xpath 查询并将它们分配给我的选择。有没有比执行以下操作更简单的方法:
SELECT
id, name,
[XML].value('declare namespace test="http://www.test.org/xml/";
declare namespace test2="http://www.test2.org";
(//test:Address[1][test2:Global=1]/test:Street)[1] ', 'varchar(max)') AS streetLocation1,
[XML].value('declare namespace test="http://www.test.org/xml/";
declare namespace test2="http://www.test2.org";
(//test:Address[2][test2:Global=1]/test:Street)[1] ', 'varchar(max)') AS streetLocation2
FROM
TEST
我想换
'declare namespace test="http://www.test.org/xml/";
declare namespace test2="http://www.test2.org";'
通过使用变量。我试图附加字符串,但得到以下信息:
XML 数据类型方法“value”的参数 1 必须是字符串文字。
必须有一个更简单的方法。
谢谢,
-詹姆士