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 入群验证请带上程序员的特点。

  • 相关阅读:
    java基础>包、访问权限、命名规范 小强斋
    java基础>Static 和 Final 关键字 小强斋
    java基础>对象的创建过程(初始化、析构、清理) 小强斋
    iPhone 上少用三元操作符 ? :
    QQ群人满了
    面向对象C语言(ObjectiveC)编程简介
    java Integer.ValueOf(int)和new Integer(int)性能比较
    关于在iPhone上合并2个应用程序(App)成一个
    java Preferences持久化使用示例
    Memcache VS MySQL Query Cache.
  • 原文地址:https://www.cnblogs.com/FirstCode/p/2100450.html
Copyright © 2011-2022 走看看