Ошибка вставки полного XML в SQL Server 2008 с использованием Entity Framework - PullRequest
0 голосов
/ 29 марта 2012

Привет! Я пытаюсь вставить XML-файл в таблицу SQL Server с типом XML

.

но это дает мне ошибку, как показано ниже

Это моя логика C #

  using (Entities context = new Entities())
            {
                context.usp_BF_StoreEligibilityResponse(ID, XML);
}

это моя хранимая процедура

 UPDATE  MyTable
SET     ResponseXML = cast('<?xml version="1.0"?>
<Interchange segment-terminator="~" element-separator="*" sub-element-separator="&gt;">
  <ISA>
    <!--Author Information Qualifier-->
    <ISA01>00<!--No Authorization Information Present--></ISA01>
    <!--Author Information-->
    <ISA02>          </ISA02>
    <!--Security Information Qualifer-->
    <ISA03>01<!--Password--></ISA03>
    <!--Security Information-->
    <ISA04>JILITTQQPK</ISA04>
    <!--Interchange ID Qualifier-->
    <ISA05>ZZ<!--Mutually Defined--></ISA05>
    <!--Interchange Sender ID-->
    <ISA06>S00000000000001</ISA06>
    <!--Interchange ID Qualifier-->
    <ISA07>ZZ<!--Mutually Defined--></ISA07>
    <!--Interchange Receiver ID-->
    <ISA08>T00000000021261</ISA08>
    <!--Interchange Date-->
    <ISA09>120328</ISA09>
    <!--Interchange Time-->
    <ISA10>1539</ISA10>
    <!--Inter Control Standards Identifier-->
    <ISA11>&#x1F;</ISA11>
    <!--Inter Control Version Number-->
    <ISA12>00501</ISA12>
    <!--Inter Control Number-->
    <ISA13>021443719</ISA13>
    <!--Acknowlegment Requested-->
    <ISA14>0<!--No Acknowledgment Requested--></ISA14>
    <!--Usage Indicator-->
    <ISA15>T<!--Test Data--></ISA15>
    <!--Component Element Separator-->
    <ISA16>
      <ISA1601 />
      <ISA1602 />
    </ISA16>
  </ISA>
  <TA1>
    <!--Interchange control number-->
    <TA101>0fa080e2-</TA101>
    <!--Interchange Date-->
    <TA102>120328</TA102>
    <!--Interchange Time-->
    <TA103>1639</TA103>
    <!--Interchange ACK Code-->
    <TA104>R<!--Interchange rejected/suspended--></TA104>
    <!--Interchange Note Code-->
    <TA105>018</TA105>
  </TA1>
  <IEA>
    <!--Number of Included Functional Groups-->
    <IEA01>0</IEA01>
    <!--Interchange Control Number-->
    <IEA02>021443719</IEA02>
  </IEA>
</Interchange>' AS XML)
WHERE   EligibilityID = 13

Сообщение об ошибке

Msg 9420, Level 16, State 1, Line 1
XML parsing: line 25, character 17, illegal xml character
    enter code here

Это строка, вызывающая эту ошибку <ISA11>&#x1F;</ISA11>

это при предварительном просмотре в представлении Visual Studio XML или HTML. это выглядит так <ISA11></ISA11>

1 Ответ

0 голосов
/ 29 марта 2012

Сообщение об ошибке говорит, что это все.Данный XML является недопустимым XML, поскольку &#x1F; является недопустимой текстовой последовательностью.Если вам нужен такой текст, его нужно ввести как &amp;#x1F; (&amp; - escape-последовательность XML для символа &).Кроме того, вы можете экранировать строку, заключив ее в раздел CDATA (символьные данные): <![CDATA[&#x1F;]]>.

...