关于vb的xml串行化问题

louisbadbad 2004-04-03 01:15:44
我的想法如下,写了一个大的public类,

Public Class graphics

Public Class line

Public start_x As Integer
Public start_y As Integer
Public end_x As Integer
Public end_y As Integer
End Class

Public Class circle
Public radius As Integer
Public circlex As Integer
Public circley As Integer
End Class

Public Class rectangle
Public start_x As Integer
Public start_y As Integer
Public width As Integer
Public height As Integer
End Class
End Class
这样穿行化出来就是一个graphic的主属性。
接下来我分别声明了三个数组
Public oline(1023) As graphics.line
Public ocircle(1023) As graphics.circle
Public orectangle(1023) As graphics.rectangle
我的想法是我声明一个对象就在数组中添加一个元素
我想得到一个xml的形式如下
<graphics>
<line>
<line_1> .. </line_1>
...
<line_x> ..</line_x>
</line>
<circle>
<circle_1>..</circle_1>
...
<circle_x>..</circle_x>
</circle>
<rectangle>
<rectangle_1>..</rectangle_1>
..
</rectangle>
</graphics>


多谢高手指点

...全文
25 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ninputer 2004-04-05
  • 打赏
  • 举报
回复
是的,数组也可以序列化!
louisbadbad 2004-04-05
  • 打赏
  • 举报
回复
顶一下
Ninputer 2004-04-04
  • 打赏
  • 举报
回复
直接用.NET的序列化如何?你一定要得到这样的序列化结果吗?用.NET的序列化可以直接反序列化。
louisbadbad 2004-04-04
  • 打赏
  • 举报
回复
我的graphics类中可以有多个line的对象,这样串行化出来是我多要的格式马?
Ninputer 2004-04-04
  • 打赏
  • 举报
回复
不过你那个大类好像不能序列化,因为里面没有真正的成员,都是一些嵌套类。你应该这样写
<Serilizable> _
Public Class line

Public start_x As Integer
Public start_y As Integer
Public end_x As Integer
Public end_y As Integer
End Class

<Serilizable> _
Public Class circle
Public radius As Integer
Public circlex As Integer
Public circley As Integer
End Class

<Serilizable> _
Public Class rectangle
Public start_x As Integer
Public start_y As Integer
Public width As Integer
Public height As Integer
End Class

'注意这里:
<Serilizable> Public Class graphics
Public rect As rectangle
Public cir As cirle
Public lin As line
'other code
End Class

就能直接用.Net的序列化完整地保存一个graphic的对象
Ninputer 2004-04-04
  • 打赏
  • 举报
回复
在类前面加Attribute就行了

<Serilizable> Public Class graphics
....

然后用System.Runtime.Serilization中的类型进行序列化和反序列化:
如果你的MSDN是VS2003版的,你可以看看这篇介绍
ms-help://MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconserialization.htm
louisbadbad 2004-04-04
  • 打赏
  • 举报
回复
望高手回答
louisbadbad 2004-04-04
  • 打赏
  • 举报
回复
.net的序列化怎么做?
thelostman 2004-04-03
  • 打赏
  • 举报
回复
感觉你干脆使用DATASET怎么样?类似数据库表和记录的方式

16,554

社区成员

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

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