社区
C#
帖子详情
序列化枚举型
lookfeng
2004-08-11 05:30:58
枚举在序列化为XML后以枚举名出现。那么如何控制它让它以枚举值出现呢?
例如:
enum Test
{
A = 1,
B = 3
}
Class T
{
public Test dd;
}
现在实例化T,dd = Test.A ,则该实例序列化后为
<T>
<dd>A</dd>
</T>
问题是:我如何让它序列化为
<T>
<dd>1</dd>
</T>
...全文
639
12
打赏
收藏
序列化枚举型
枚举在序列化为XML后以枚举名出现。那么如何控制它让它以枚举值出现呢? 例如: enum Test { A = 1, B = 3 } Class T { public Test dd; } 现在实例化T,dd = Test.A ,则该实例序列化后为 A 问题是:我如何让它序列化为 1
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
1979xt
2004-08-14
打赏
举报
回复
反序列化后应该能还原成枚举型的吧?
saucer
2004-08-14
打赏
举报
回复
not sure if this is what you need, but try
public enum Test
{
[XmlEnum("1")]
A = 1,
[XmlEnum("3")]
B = 3
}
lookfeng
2004-08-14
打赏
举报
回复
mars131(自由自在131) 不要想当然,我说的是序列化。为的是在两个应用间传递信息,而且,两个应用不是同个厂家实现的。
lookfeng
2004-08-14
打赏
举报
回复
XmlEnum的确可以更改序列化后的值。但是这个同样必须更改类设计。但是我想到到了一个方法。
XmlAttributeOverrides overrides = new XmlAttributeOverrides();
Type t = typeof(Test);
string[] names = Enum.GetNames(t);
Array values = Enum.GetValues(t);
for (int i = 0; i < names.Length; i++)
{
XmlAttributes attrs = new XmlAttributes();
XmlEnumAttribute xEnum = new XmlEnumAttribute();
xEnum.Name = ((int)values.GetValue(i)).ToString();
attrs.XmlEnum = xEnum;
overrides.Add(t, names[i], attrs);
}
XmlSerializer serializer = new XmlSerializer(typeof(T), overrides);
不知道有没有更好的方法?
mars131
2004-08-13
打赏
举报
回复
拿DataSet把这个XSD读进去,再拿填充好数据的DataSet写出来不就可以了!
lookfeng
2004-08-13
打赏
举报
回复
zjsen(星愿)(个人观点,仅供参考.请自行验证) 说的的确可行。但问题是我需要序列化的类是通过XSD自动生成的,最好不要更改它(以利于自动化)。所以不能用此办法。
mars131
2004-08-12
打赏
举报
回复
enum Test
{
A = 1,
B = 3
}
public class T
{
private Test dd;
public Test Dd
{
set
{
DD = value;
}
get
{
return dd;
}
}
}
public class D
{
public void deserilaze()
{
T last = new T ();
Test two = new Test();
last.Dd = two;
}
}
八爪鱼-杭州
2004-08-12
打赏
举报
回复
Class T
{
public int _dd;
public Test dd
{
get{(Test)System.Enum.Parse(typeof(Test),_dd.ToString());}
set{_dd=Convert.ToInt32(value.ToString("D"));}
}
}
amami
2004-08-12
打赏
举报
回复
顶
八爪鱼-杭州
2004-08-12
打赏
举报
回复
Class T
{
private Test dd;
public string ddd
{
get{dd.ToString("D");}
}
}
lookfeng
2004-08-12
打赏
举报
回复
有人知道吗?
csq0516
2004-08-11
打赏
举报
回复
up
.NET5跨平台Json-XML-二进制
序列化
本内容包含内容是作为一个C#/.NET开发者必须的技术储备;包含了IO操作的各种Api;多种
序列化
器的使用和封装;关于NPOI操作Excel的相关内容+各种案例的实操演示;
.NET
序列化
枚举
为字符串
默认情况下,
枚举
是以其整数形式进行 JSON
序列化
,这通常会导致与消费者应用缺乏互操作性,因为他们需要事先了解这些数字的实际含义。因此,我们希望它们在一些情况下以字符串的形式进行
序列化
。本文将讲解实现这一...
序列化
方式处理
枚举
字段回显
我们需要去自定义一个
枚举
,用来标识
枚举
字段,参数中传递
枚举
类,这样在
序列化
时能够去执行匹配逻辑/*** @desc
枚举
值
序列化
时添加显示名称字段并赋值/***
枚举
类
型
* @return/*** 存放
枚举
显示值的目标字段, 不填的...
Jackson忽略注解
序列化
枚举
类
型
遇到空指针异常
最近在使用Jackson的时候遇到‘忽略注解
序列化
枚举
类
型
抛空指针异常’下面贴部分代码,Jackson版本1.9.10
枚举
对象 public enum ViewTime { FOREVER(-1), SEVEN_DAY(0), ONE_MONTH(1),TWO_MONTH(2),THREE_MONTH(3...
SpringBoot的
序列化
和反
序列化
序列化
与反
序列化
1、认识
序列化
与反
序列化
Java
序列化
是指把Java对象转换为字节序列的过程,而Java反
序列化
是指把字节序列恢复为Java对象的过程。 2、为什么要实现对象的
序列化
和反
序列化
? (1)我们创建的Java...
C#
110,566
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章