0

SSISを介してXMLデータをSQLServerにロードする必要があります。XMLソースでは16進記号を取得しているため、そのファイルをSSISでソースとして指定すると、16進値が受け入れられません。これらを解析または削除するにはどうすればよいですか(16進)シンボル)。

エラー:文字''、16進値0x2はXMLドキュメントでは不正です。

XSLTを使用してそれらを削除する方法はありますか?ある場合は、正しい方法で私を配置してください。

4

2 に答える 2

0

エラー : 文字 ' '、16 進値 0x2 は XML ドキュメントでは無効です。

XSLT を使用してそれらを削除する方法はありますか? もしあれば、正しい方法で私を入れてください。

いいえ。これは XML パーサーの問題であり、XSLT の問題ではありません。XSLT プロセッサは、使用する特定の XML パーサーによって XML ドキュメントを解析した結果のみを確認します。

そのため、使用中の XSLT プロセッサが異なる XML パーサーの使用を許可し、XML 1.1 パーサーの使用を見つけることができる場合は、この特定のパーサーを使用するように XSLT プロセッサをセットアップするだけです。

XSLT 3.0 (まだ作業中のドラフト) では、生のテキストを受け取り、それを XML ドキュメント/フラグメントに解析する関数が存在する可能性があります。そのような関数はおそらく、どのタイプの XML パーサーを使用するか (XML 1.0 または XML 1.1) の引数を持つことができます。

于 2012-05-04T12:26:31.257 に答える
0

あなたの問題は、文字エンティティとしてエンコードされていても、XML 自体が制御文字を許可しないことです。XSLT もそれを解析できません。

XML 1.1 では、文字をエンティティとして含めることはできますが、テキストとして含めることはできません。

「無効な XML ファイルですか?」を参照してください。同様の質問については、「XML タスク エラー メッセージの 16 進数の無効な文字」を参照してください。

于 2012-05-04T10:22:57.643 に答える