Получение ошибки при десериализации XML в DataSet в VB.Net - PullRequest
0 голосов
/ 08 июня 2019

Я пытаюсь использовать приведенный ниже код в простой программе для десериализации XML, но получаю ошибку.

System.InvalidOperationException: «Ошибка в XML-документе (2, 2).» InvalidOperationException: не ожидалось.

Const FILENAME As String = "C:\Users\rob\Downloads\TCP Integration Latest\SalesFiles\gpos156\g0001001.180"

        Dim ds As New DataSet
        Dim xmlSerializer As XmlSerializer = New XmlSerializer(ds.GetType)
        Dim readStream As FileStream = New FileStream(FILENAME, FileMode.Open)
        ds = CType(xmlSerializer.Deserialize(readStream), DataSet)
        readStream.Close()
        DataGridView1.DataSource = ds.Tables(0)

XML, который я довольно большой, но для начала он выглядит примерно так: я могу загрузить весь документ, если потребуется.

Любые советы в правильном направлении были бы великолепны.

<?xml version="1.0" standalone="yes"?>
<GPoSData>
  <xs:schema id="GPoSData" xmlns="gposdata" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="GPoSData" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="DT180">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="TranCode" type="xs:long" minOccurs="0" />
                <xs:element name="ClerkCode" type="xs:int" minOccurs="0" />
                <xs:element name="SalesPersonCode" type="xs:int" minOccurs="0" />
                <xs:element name="PersonCount" type="xs:short" minOccurs="0" />
                <xs:element name="TableCode" type="xs:int" minOccurs="0" />
                <xs:element name="CustomerCode" type="xs:int" minOccurs="0" />
                <xs:element name="BillCode" type="xs:long" minOccurs="0" />
                <xs:element name="SaleTotal" type="xs:decimal" minOccurs="0" />
                <xs:element name="TaxTotal" type="xs:decimal" minOccurs="0" />
...