Серилизация XML File c#

У меня есть XML File который хранится в БД FireBird, мне нужно обратится к определенной строке и прочитать script Мне нужно прочитать файл в С# Открытия файла будет записываться в DataGridView где будет кнопка загрузка.

выполнения скрипта будет использоваться процедура ToVagon

<FILE NAME="УП O`zbekTemirYo`lEkspeditsia">
  <FIELD NAME="DEPARTURE" CAPTION="Дата отпр." TYPE="ftDate" DBNAME="DEPARTURE_TRAIN" READ_ONLY="True"/>            <!--0 -->
  <FIELD NAME="SUB_CODE" CAPTION="Под. код" TYPE="ftString" DBNAME="CODE" READ_ONLY="False"/>                       <!--1 -->
  <FIELD NAME="INVOICE" CAPTION="№ Накладной" TYPE="ftString" DBNAME="NUMBER_INVOICE" READ_ONLY="False"/>            <!--2 -->
  <FIELD NAME="VAGON" CAPTION="№ Вагона" TYPE="ftString" DBNAME="NUMBER_VAGON" READ_ONLY="False"/>                  <!--3 -->
  <FIELD NAME="ST_OTPR" CAPTION="Ст. отправления" DBNAME="DISPATCH_NAME" TYPE="ftString" READ_ONLY="True"/>         <!--4 -->
  <FIELD NAME="ST_NAZN" CAPTION="Ст. назначения" DBNAME="ARRIVAL_NAME" TYPE="ftString" READ_ONLY="True"/>           <!--5 -->
  <FIELD NAME="CARGO" CAPTION="Груз" DBNAME="CARGO_NAME" TYPE="ftString" READ_ONLY="True"/>                         <!--6 -->
  <FIELD NAME="VES" CAPTION="Вес" DBNAME="LOADING" TYPE="ftFloat" READ_ONLY="False"/>                               <!--7 -->
  <FIELD NAME="VAGON_SUMMA" CAPTION="Сумма" DBNAME="SUMMA" TYPE="ftFloat" READ_ONLY="False"/>                       <!--8 -->

  <COMMAND NAME="Разбить на вагоны" PROCEDURE="ToVagons"/>
  <SCRIPT LANGUAGE="VBScript">
   'Переменная Название файла используеются в функции OpenFile
    public FileName
    function ExtractName(FileName)
      I = InStrRev(FileName, &quot;\&quot;)
      ExtractName = Mid(FileName, I + 1, 255)
    end function
    
    'Переменная путь к файлу используеются в функции OpenFile
    function ExtractDir(FileName)
      I = InStrRev(FileName, &quot;\&quot;)
      ExtractDir = Mid(FileName, 1, I - 1)
    end function
    
    'Открытие файла формат DBF4
    function OpenFile
      FileName = Command.OpenDialog(Null)
      if IsNull(FileName) then
        OpenFile = Null
      else
        S = ExtractDir(FileName)
        S = &quot;Provider=MSDASQL.1;Persist Security Info=False;Data Source=Файлы dBASE;Initial Catalog=&quot; &amp; S
        set con = CreateObject(&quot;ADODB.Connection&quot;)
        con.Open(S)
        F = ExtractName(FileName)
        S = F
        set Table = con.execute(S)
        set OpenFile = Table
      end if
    end function

    function GetFileName
      GetFileName = FileName
    end function

    function ReadFile (Table)
      if Table.EOF then
        ReadFile = Null
      else
       res = Array(Table.Fields(0).Value, Table.Fields(1).Value, _
          Table.Fields(2).Value, Table.Fields(3).Value, _
          Table.Fields(4).Value, Table.Fields(5).Value, _
          Table.Fields(6).Value, Table.Fields(7).Value, _
          Table.Fields(8).Value)

        Table.MoveNext
        ReadFile = res
      end if
    end function

    function RecordCount(Table)
      RecordCount = Table.RecordCount
    end function

    sub ToVagons(Table)
      N = InputBox("Количество вагонов")
      if not IsNull(N) then
        sumVes = Command.Field(Array(Table, "VES")) / N
        sumVagonSumma = Command.Field(Array(Table, "VAGON_SUMMA")) / N
        Command.SetField(Array(Table, "VES", sumVes))
        Command.SetField(Array(Table, "VAGON_SUMMA", sumVagonSumma))

        Rec = Array(Command.Field(Array(Table, "DEPARTURE")), _
          Command.Field(Array(Table, "SUB_CODE")), _
          Command.Field(Array(Table, "INVOICE")), _
          Command.Field(Array(Table, "VAGON")), _
          Command.Field(Array(Table, "ST_OTPR")), _
          Command.Field(Array(Table, "ST_NAZN")), Command.Field(Array(Table, "CARGO")), _
          Command.Field(Array(Table, "VES")), Command.Field(Array(Table, "VAGON_SUMMA")))
        for I = 1 to N - 1
          Command.Insert(Rec)
        next
      end if
    end sub

  </SCRIPT>
</FILE>
</FILES>```


Ответы (0 шт):