2012-09-10 4 views
1

나는 데 SQL 서버에서 XQuery를 사용하여 XML에서 같은 이름의 요소를 가져옵니다 SQL에서 XQuery를 사용하여 관계없이 수준의 모든 질문 노드에서 질문 ID와 제목의 표를 얻는 방법XML 다음

DECLARE @ruleXML XML 
SET @RuleXML = '<questionnaire xmlns:xsi="http://schema1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schem2" title="Sample"> 
    <sections> 
    <section id="24" title="Section Title" help="" url=""> 
     <questions /> 
    </section> 
    <section id="23" title="Information" help="" url=""> 
     <questions /> 
    </section> 
    <section id="25" title="Section Title1" help="" url=""> 
     <questions> 
     <question id="3" title="Question Text"> 
      <display-rules /> 
      <questions /> 
     </question> 
     <question id="4" title="Question Text" > 
      <response-set type="inline" /> 
      <display-rules /> 
      <questions /> 
     </question> 
     </questions> 
    </section> 
    </sections> 
</questionnaire>' 

섬기는 사람?

답변

4
; with xmlnamespaces (default 'http://schem2') 
select tbl.col1.value('@id', 'int') 
,  tbl.col1.value('@title', 'varchar(100)') 
from @RuleXML.nodes('//question') tbl(col1) 

Working example at SQL FIddle.

관련 문제