0

下の画像に示すように、Web サービス タスクを介して変数で結果を取得しています。

ここに画像の説明を入力

次に、XML タスクを使用して余分な名前空間を削除し、下の画像に示すように、処理された結果を strProcessedResult 変数の別の変数に格納しました。

ここに画像の説明を入力

ここで 2 番目のオペランドは、XML ファイルから余分な名前空間を削除するのに役立つdata.xsltファイルです。

以下は、私の制御フローの全体構造です。

ここに画像の説明を入力

データ フローでは、XML ソースを使用して変数を読み取り、データをデータベースに入力しています。以下は XML ソースのスクリーンショットです。

ここに画像の説明を入力

ここで、XML ソースがデータを読み取ることができず、XMLDataVariable が空だったため、エラーが発生しました。ノード値を読み取り、OLEDB Destination を使用してデータをデータベースに挿入したいと考えています。

Web サービス タスクの結果を変数に保存する代わりに、それを外部の XML ファイルに保存すると、以下が XML ファイル形式になります。

<?xml version="1.0" encoding="utf-16"?>
 <Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name xmlns="http://localhost">Rahul</Name>
  <BirthDate xmlns="http://localhost">1991-04-20T00:00:00</BirthDate>
 </Data>.

XSLT ルールを適用して余分な名前空間を削除すると、XML ファイルは次のようになります。

<?xml version="1.0" encoding="utf-8"?><Data><Name>Rahul</Name><BirthDate>1991-04-20T00:00:00</BirthDate></Data>

また、XSLT ルールを強制的に追加して余分な名前空間を削除する必要があることに注意してください。そうしないと、さらに操作するために XSD が作成されず、プロジェクトもうまく機能します。結果を XML ファイルに外部に保存するが、変数を使用したい場合全体の操作のために、

4

1 に答える 1

0

strProcessedResult設計時に変数に実際に何かがあることを確認してください。つまり、パッケージを実行すると変数が読み込まれますが、設計時には変数が空になるため、予想される XML を貼り付けて、タスクに処理するものを与えるだけです。

于 2013-09-29T22:53:22.830 に答える