2009-08-19 3 views
4

SQL Server 데이터베이스에서 XML 쿼리를 막 시작했습니다. 가장 기본적인 쿼리에 문제가 있습니다. 다음은 간단한 예입니다. 설명을 어떻게 반환합니까? 아래 SELECT 문을 사용하고 있지만 그것은 아무것도 반환합니다.SQL Server 내에서의 XML 쿼리

이 내가 사용하고있는 XML 파일의 조각입니다
SELECT Incidents.IncidentXML.query 
('data(/dsIncident/IncidentInformation/Description)') AS Description 
FROM Incidents 

:

<dsIncident xmlns="http://tempuri.org/dsIncident.xsd"> 
    <IncidentInformation> 
    <Description>This is the description.</Description> 
    <Country>Singapore</Country> 
    </IncidentInformation> 
</dsIncident> 

답변

11

글쎄, 당신은 XML 네임 스페이스를 놓치고있어! :-)

이 시도 : - 그것은 당신의 선택의 접두사와 네임 스페이스 (선언 -

SELECT 
    Incidents.IncidentXML.query('declare namespace x="http://tempuri.org/dsIncident.xsd"; 
      (/x:dsIncident/x:IncidentInformation/x:Description)') AS Description 
FROM Incidents 

을 마법은 여기

declare namespace x="http://tempuri.org/dsIncident.xsd" 

부분은 무엇이든 할 수있다 - 여기에 'X ') 해당 XML 데이터에 대한 쿼리 기간 동안.

바라건대, 그게 뭔가를 반환합니다! ;-)

마크