关于实体类与XML之间互转的一个问题

Jimyu1110 2004-06-16 04:13:22
我把一个实体类转换成XML后,如下:
public class Customer
dim mName as string
dim mID as Integer
public sub New(strName as string,intID as integer)
mname=strName
mID=intID
end sub
End class

public class XMLCustomer
dim msXML as IO.MemoryStream
dim slrXML as new System.Xml.Serialization.XmlSerializer(GetType(Customer))
dim objCustomer=new Customer("One",1)
slrXML.Serialize(msXML,objCustomer)
end Classs
现在我想不把msXML写到文件去而把它从新转换成实体类Customer,该怎么做?
我试过如下的操作:
dim objCustomer2 as Customer
slrXML.Deserialize(msXML)
但报错,提示“文档(0,0)错误”
但如果把它写到文件里再读出来就不会报错,请问有没有高手给指点指点
...全文
185 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
水如烟 2004-06-16
  • 打赏
  • 举报
回复
你的那个Customer
应该是这样的
Public Class Customer
Public mName As String
Public mID As Integer
Public Sub New(ByVal strName As String, ByVal intID As Integer)
mName = strName
mID = intID
End Sub
Public Sub New()
End Sub
End Class
水如烟 2004-06-16
  • 打赏
  • 举报
回复
提供参考
Public Class Customer
Dim mName As String
Dim mID As Integer
Public Sub New(ByVal strName As String, ByVal intID As Integer)
mName = strName
mID = intID
End Sub
End Class

Public Class CustomerSerializer
Public Function GetXML(ByVal pCustomer As Customer)
Dim oSerializer As New Xml.Serialization.XmlSerializer(GetType(Customer))
Dim oStringWriter As New IO.StringWriter
oSerializer.Serialize(oStringWriter, pCustomer)
Return oStringWriter.ToString
End Function
Public Sub LoadXML(ByVal pCustomer As Customer, ByVal XML As String)
Dim oSerializer As New Xml.Serialization.XmlSerializer(GetType(Customer))
Dim oStringreader As New IO.StringReader(XML)
pCustomer = CType(oSerializer.Deserialize(oStringreader), Customer)
End Sub
End Class
Public Class Test
Sub TestMyCustomer()
Dim oCustomer As New Customer("ONE", 1)
Dim oCustomerSerializer As New CustomerSerializer
Dim sXML As String = oCustomerSerializer.GetXML(oCustomer)
Dim oMyCustomer As New Customer(Nothing, Nothing)
oCustomerSerializer.LoadXML(oMyCustomer, sXML)
End Sub
End Class
水如烟 2004-06-16
  • 打赏
  • 举报
回复
学习
Jimyu1110 2004-06-16
  • 打赏
  • 举报
回复
怎么没人跟跟呀?

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧