Xml序列化问题,期待高手帮忙解决

hustcyb 2009-05-09 06:43:37
现在有基类A:

public abstract class A
{
public abstract Type Type
{
get;
}
}

和若干子类:

public class B : A
{
public override Type Type
{
get
{
return Type.B;
}
}

...
B的成员
...
}


public class C : A
{
public override Type Type
{
get
{
return Type.C;
}
}

...
C的成员
...
}


public enum Type
{
B,
C,
...
}

现在要求将子类序列化如下样式:
类型B的序列化结果
<a type="b">
...
B的成员
...
</a>
类型C的类型化结果
<a type="c">
...
C的成员
...
</c>
请教序列化方面的高手该怎么实现
...全文
78 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawnbear 2009-05-13
  • 打赏
  • 举报
回复
首先你要在所有要序列化的对象上面要添加属性[serializable]可序列化标签
其他的你直接用xmlserializable应该可以序列化了 但我不知道是不是你要的结果
如果你要的是你自己设定的格式的话
不要用序列化 不好控制格式
用dom或者reader 都可以 自己控制格式 应该没有什么效率影响的 xml存在内存空间和内存空间的数据存在格式一样 很快的
hustcyb 2009-05-12
  • 打赏
  • 举报
回复
实现IXmlSerializable接口没问题,但是只能序列化成下面的样式:
<a type="b">
<b>
b的成员
</b>

<a type="c">
<c>
C的成员
</c>

无法将子类的标签去掉
justin麒麟 2009-05-12
  • 打赏
  • 举报
回复
XML?override
周公 2009-05-09
  • 打赏
  • 举报
回复
.net中对象序列化技术浅谈
本文用比较简短的文字讲述了在.net中序列化化对象的三种方式,然后讲述各种方式之间的区别以及在序列化对象时要注意的一些事项。
tian_yang_jian 2009-05-09
  • 打赏
  • 举报
回复
顶楼主一下
蓝海D鱼 2009-05-09
  • 打赏
  • 举报
回复
up

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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