2009-07-15 12 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ソースを使用することはできません。あなたは自分で書く必要があります。実際にはそれほど難しいことではありません。 Books Onlineの例を参考にしてください。処理は、最初の子ノードに移動し、XmlReader.ReadSubTreeを呼び出して、次の<person/>要素の上に新しいXmlReaderを返します。その後、お気に入りのXML APIを使用して<person/>全体を読み込み、結果のXMLを文字列に変換し、パイプラインに沿って渡します。すべての<person/>ノードに対してこの手順を繰り返します。

0

xml出力を変更して、人の内容が文字列として見えるようにすることはできますか? <>のエスケープ文字を使用してください。

スクリプトタスクを使用して解析することもできます。

関連する問題