zoukankan      html  css  js  c++  java
  • 序列化 根级别上的数据无效。 行 1,位置 1

    最近在做反序列化的时候遇到过     根级别上的数据无效。 行 1,位置 1

    最后发现是在序列化的时候代码不标准所致

    序列化代码:

        ''' <summary>
        ''' 将Pack文件保存到本地文件,并返回文件名
        ''' </summary>
        ''' <param name="pk">List(Of PackageData)</param>
        ''' <param name="fileName">fileName</param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Shared Function SavePackToFile(ByVal pk As List(Of PackageData), Optional ByVal fileName As String = "") As String
            Try
                If fileName.Trim.Length <= 0 Then fileName = Guid.NewGuid().ToString + ".pak"
                Dim destFile As String = AppDomain.CurrentDomain.BaseDirectory + "\Download\" + fileName
    
                Dim ser As New DataContractSerializer(GetType(List(Of PackageData)))
                Dim wx As New Xml.XmlTextWriter(destFile, System.Text.Encoding.UTF8)
                ser.WriteObject(wx, pk)
                wx.Close()
            Catch ex As Exception
                Throw ex
            End Try
            Return fileName
        End Function

    反序列化:

        ''' <summary>
        ''' 反序列化PackageData
        ''' </summary>
        ''' <param name="s"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Shared Function Deserialize(ByVal s As String) As List(Of PackageData)
            Try
    
                Dim txter As TextReader = New StringReader(s.Trim())
                Dim reader As New XmlTextReader(txter)
    
                Dim ser As New DataContractSerializer(GetType(List(Of PackageData)))
                Dim datas As List(Of PackageData) = CType(ser.ReadObject(reader), List(Of PackageData))
                reader.Close()
                txter.Close()
                Return datas
            Catch ex As Exception
                Throw ex
            End Try
            Return Nothing
        End Function

    这样之后不会再报错了。

     技术交流请加群517867216 入群验证请带上程序员的特点。

  • 相关阅读:
    集群技术
    Docker Swarm(一)
    服务器集群
    生产环境swarm集群规划和管理
    集群的分类
    Arcengine C#开发源码
    BIOS设置中开启cpu睿频功能
    aida64怎么用?aida64最详细的使用教程
    SQL Server2019最大并行度
    IIS 之 在IIS7、IIS7.5中应用程序池最优配置方案
  • 原文地址:https://www.cnblogs.com/FirstCode/p/2100450.html
Copyright © 2011-2022 走看看