2009-07-15 2 views
0

XML 소스를 사용하여 XML 소스 파일을 파쇄하려고하지만 전체 문서를 테이블에 분쇄하지 않으려합니다. 오히려 XML 노드를 XML 행으로 가져 오려고합니다.SSIS를 사용하여 Xml 열로 XML 노드 가져 오기

간단한 예제는 "문서"를 "사람"이라는 "사람"이라는 "xml"유형의 테이블로 가져 오는 것입니다. XmlSource를 살펴볼 때, 소스 XML을 여러 레코드로 파쇄하는 데 적합하다고 보입니다.

제안 사항?

<people> 
    <person> 
     <name> 
      <first>Fred</first> 
      <last>Flintstone</last> 
     </name> 
     <address> 
      <line1>123 Bedrock Way</line> 
      <city>Drumheller</city> 
     </address> 
    </person> 
    <person> 
     <!-- more of the same --> 
    </person> 
</people> 

답변

1

SSIS 2005가 XML 데이터 형식을 전혀 지원하지 않는다고 생각합니다. 나는 그것을 "지원"한다고 가정합니다. DT_NTEXT.

어쨌든이 목적을 위해 XML 소스를 사용할 수 없습니다. 당신은 당신 자신의 것을 써야 할 것입니다. 실제로 소리만큼 힘들지는 않습니다. 온라인 설명서의 예제를 기반으로하십시오. 처리는 첫 번째 자식 노드로 이동 한 다음 XmlReader.ReadSubTree을 호출하여 다음 <person/> 요소를 통해 새 XmlReader을 반환합니다. 그런 다음 자주 사용하는 XML API를 사용하여 전체 <person/>을 읽고 결과 XML을 문자열로 변환 한 다음 파이프 라인을 따라 전달하십시오. 모든 <person/> 노드에 대해이 과정을 반복하십시오.

0

xml 출력을 변경하여 사람의 콘텐츠를 문자열로 볼 수 있습니까? <>에 이스케이프 문자를 사용하십시오.

스크립트 작업을 사용하여 구문 분석 할 수도 있습니다.

관련 문제