SSISを介してXMLデータをSQLServerにロードする必要があります。XMLソースでは16進記号を取得しているため、そのファイルをSSISでソースとして指定すると、16進値が受け入れられません。これらを解析または削除するにはどうすればよいですか(16進)シンボル)。
エラー:文字''、16進値0x2はXMLドキュメントでは不正です。
XSLTを使用してそれらを削除する方法はありますか?ある場合は、正しい方法で私を配置してください。
エラー : 文字 ' '、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) の引数を持つことができます。
あなたの問題は、文字エンティティとしてエンコードされていても、XML 自体が制御文字を許可しないことです。XSLT もそれを解析できません。
XML 1.1 では、文字をエンティティとして含めることはできますが、テキストとして含めることはできません。
「無効な XML ファイルですか?」を参照してください。同様の質問については、「XML タスク エラー メッセージの 16 進数の無効な文字」を参照してください。