0
XML 필드에서 값을 선택하고 네임 스페이스를 정의하는 방법을 알고 있지만 여러 xpath 쿼리를 사용하여 선택 항목에 할당해야합니다.SQL 변수를 사용하여 XML에 대한 네임 스페이스를 정의해야합니다. 값 선택
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";'
를 교체하려면 다음을하는 것보다 더 쉬운 방법이있다. 문자열을 추가하려고 시도했지만 다음을 얻었습니다.
"value"XML 데이터 형식의 인수 1은 문자열 리터럴이어야합니다.
쉬운 방법이 있습니다.
감사합니다,
- 제임스
[xmlnamespaces] (http://msdn.microsoft.com/en-us/library/ms177607.aspx)를 참조하십시오. 변수를 사용할 수는 없지만 전체 쿼리에 대해 한 번만 네임 스페이스를 선언하면됩니다. –