8

データベースに xml ファイルを挿入しようとしていますが、このエラー text/xmldecl が入力の先頭にありません。

クエリは次のとおりです。

INSERT [EMR].[tblTemplateForm]
 (FormXML)
 VALUES ( CAST('<?xml version="1.0" encoding="UTF-8"?><EMR>
  <CustomTextBox xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Text>0.0</Text>
    <Type>TextBox</Type>
    <Width>300</Width>
    <id>txt1</id>
    <Label>POG(LMP)</Label>
    <LabelWidth>200</LabelWidth>
    <labelFontStyle>normal</labelFontStyle>
    <labelFontWeight>normal</labelFontWeight>
    <labelFontColor>Black</labelFontColor>
    <CaptionOrientation>Horizontal</CaptionOrientation>
    <NewControl>false</NewControl>
    <NumericText>0</NumericText>
    <TextMode>Singleline</TextMode>
    <rows>0</rows>
    <columns>0</columns>
  </CustomTextBox><?xml version="1.0"?>
  <CustomNumericTextBox xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Type>NumericTxtBox</Type>
    <Width>500</Width>
    <id>numTxt1</id>
    <Label>numTxt1</Label>
    <LabelWidth>200</LabelWidth>
    <labelFontStyle>normal</labelFontStyle>
    <labelFontWeight>normal</labelFontWeight>
    <labelFontColor>Black</labelFontColor>
    <CaptionOrientation>Horizontal</CaptionOrientation>
    <NewControl>false</NewControl>
    <NumericText>3</NumericText>
  </CustomNumericTextBox><?xml version="1.0"?>
  <AllControlsCount xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Width>0</Width>
    <id>ControlsID</id>
    <LabelWidth>0</LabelWidth>
    <NewControl>false</NewControl>
    <NumericText>0</NumericText>
    <lblCount>0</lblCount>
    <txtCount>12</txtCount>
    <numTxtCount>1</numTxtCount>
    <ddlCount>0</ddlCount>
    <rbCount>0</rbCount>
    <cbCount>0</cbCount>
  </AllControlsCount>
</EMR>' as XML))
 GO

エラーメッセージ:

Msg 9438, Level 16, State 1, Line 1
XML parsing: line 19, character 24, text/xmldecl not at the beginning of input

テーブル構造:

TABLE [EMR].[tblTemplateForm](
    [FormID] [int] IDENTITY(1,1) NOT NULL,
    [FormName] [varchar](100) NULL,
    [FormDesc] [varchar](255) NULL,
    [FormXML] [xml] NULL,
    [Published] [bit] NULL,
    [FormType] [int] NULL,
    [CreatedID] [int] NULL,
    [CreatedDate] [datetime] NULL,
    [ModifiedID] [int] NULL,
    [ModifiedDate] [datetime] NULL,
4

2 に答える 2

12

XML宣言の繰り返し

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0"?>
<?xml version="1.0"?>

XML 宣言が含まれている場合は、XML ドキュメントの最初の行の最初の位置に配置する必要があります。

于 2013-05-02T07:37:32.403 に答える
3

なんで余ってるの

<?xml version="1.0"?>

二箇所で?それらを削除すると、正常に動作するはずです。

ラージ

于 2013-05-02T07:32:51.407 に答える