0

以下の XML を SQL Server ストアド プロシージャで解析し、この XML に基づいていくつかのテーブルを更新したいと考えています。同じ使用法を実装しOPENXMLましたが、XML の先頭にもう 1 行追加されているため、予期しないエラーが発生しています。解析中に最初のタグだけをスキップすることは可能ですか?

解析コード:

set @Lead= (select lead 
            from openxml(@DOCHANDLE,'/DBO.TBLLEADS',2) with (lead INT 'LEAD'))`

ここに XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<LEADS>
   <LEAD>6680299</LEAD>
   <JOBNO>50919</JOBNO>
   <BEGINDATE>4-04-2013</BEGINDATE>
   <ENDDATE>04/14/2013</ENDDATE>
</LEADS>
4

1 に答える 1

1

まあ、最もエレガントな解決策ではありませんが、動作に戻るでしょう:

XML ドキュメントを準備する前に、XML を含む変数に対して次のステートメントを実行します。

SET @XMLVariable = REPLACE(@XMLVariable, '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>', '')

基本的に、REPLACE関数を利用して、不要なヘッダー文字列を何も置き換えていません。

于 2013-03-26T13:59:30.393 に答える