XmlSerializer序列化时怎么添加xml注释

yidaimu 2016-03-08 06:30:20
public class Rule
{
public string device;
public int channel;
}
//序列化List
private void Serialize(List list)
{
XmlDocument xd = new XmlDocument();
using (StringWriter sw = new StringWriter())
{
try
{
XmlSerializer xz = new XmlSerializer(list.GetType());
xz.Serialize(sw, list);

xd.LoadXml(sw.ToString());

xd.Save("a.xml");
}
catch (Exception ex)
{
MessageBox.Show("序列化时发生错误:" + ex.Message);
}
}
}
如果不使用XmlDocument去修改XML,那怎么才能让XmlSerializer生成的xml中包含对device和channel节点的注释?
先谢谢各位了。
...全文
722 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yidaimu 2016-03-09
  • 打赏
  • 举报
回复
额,类Rule字段的注释不是给程序员看的,所以不用考虑反编译啊什么的。那个类序列化后就是一个配置文件,实施人员需要修改这个配置。加个注释就是为了给实施人员看的。这个配置文件包含多个Rule类,是List<Rule>的序列化。
Poopaye 2016-03-09
  • 打赏
  • 举报
回复
引用 2 楼 yidaimu 的回复:
注释就是给类的各个字段(要序列化的这个类只有变量成员,没有方法成员)加一个说明,这个说明是固定的,就像(XML)device节点前加一个<!--设备-->。
你就没想过等代码编译成exe/dll的时候,加载字段上的注释已经消失了 所以老实点在序列化时候用XmlWriter再额外写入
正怒月神 2016-03-09
  • 打赏
  • 举报
回复
没有试过。 不过用Linq来生成xml倒是可以添加注释 http://blog.csdn.net/lixiaodaoaaa/article/details/7505790
yidaimu 2016-03-09
  • 打赏
  • 举报
回复
注释就是给类的各个字段(要序列化的这个类只有变量成员,没有方法成员)加一个说明,这个说明是固定的,就像(XML)device节点前加一个<!--设备-->。
Poopaye 2016-03-08
  • 打赏
  • 举报
回复
注释从哪儿来?

111,128

社区成员

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

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

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