2 yidaimu yidaimu 于 2016.03.08 18:32 提问

XmlSerializer序列化时是不是不能加注释

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节点的注释?
            先谢谢各位了。

1个回答

hnxcjsbzzysljf
hnxcjsbzzysljf   2016.10.08 01:32

er序列化时是不是不能加注释
xml注释xmlserializer
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);

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
XML序列化(XMLSerializer)中,类和xml的对应关系
            aaa.dat      bbb.dat      ccc.dat                      ddd.dat      eee.dat      fff.dat       与类的对应关系:[XmlRootAttribute("users", IsNullable = false)]public class users{    [XmlEleme
用XmlSerializer串行化(序列化)ArrayList数组对象与反序列化
刚才把经过xml串行化(序列化)的数组对象,输入进了数据库,然后再读取出来,反序列化为一个数组对象。成功了!!整个过程只用了这么点代码,真是一气呵成的感觉。学会了这一手技术,以后做对象的数据转移的时候又多了一种手段,哈哈!PS:我发现写blog的时候Z-BLOG的tag功能很不人性化,找了半天,哈欠,应该再改一下。简单的代码如下:             ArrayList aList = n
xml 序列化时, 去掉默认的命名空间
C# 的 xml 序列化时,文档总会带有xmlns:xsd="http://www.w3.org/2001/XMLSchema"andxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"如果想去掉,或者添加自己的命名空间,可以考虑下面的做法  //Create our own namespaces for the outpu
(转载)使用XmlSerializer序列化可空属性
使用XmlSerializer可以方便的将对象序列化为xml,实现应用之间的数据交互。但是XmlSerializer却不能很好地序列化类型中的可空字段。  例如,有如下定义的类Person:  [Serializable]   [XmlRoot(ElementName = "Person")]   public class Person   {       public s
XmlSerializer 序列化与反序列化CDATA 以及实现
XmlSerializer类可以帮助我们将对象的状态序列化对保存,同时通过反序列化,可以还原对象的状态。通过与XML序列化与反序列化相关的特性(Attribute),可以控制我们的序列化的XML格式;同时通过实现IXmlSerializable接口,可以自定义的实现序列化与反序列化。关于此类,详情查看MSDN XmlSerializer类。不过在一些特殊情况下,CDATA类型的序列化与反序列化
XmlSerializer基本例子以及注意事项(代码注释)
这篇随笔对应的.Net命名空间是System.Xml.Serialization;文中的示例代码需要引用这个命名空间。 先举例: 有一个Company类和一个Group类。 Company表示一个公司,Group表示一个集团。 二、注意事项: 1. 被序列化的对象必须要有一个构造函数。 2. private 属性将不会被序列化。如果不想序列化一个public属性,则打上 [XmlIgnore]标签。 3. 对于枚举类型的属性,在序列化之前一定要赋值,否则会序列化失败。这个问题我在Windows service程序下调试了半天,才发现。奇怪怎么网上都没说呢? 4. 注意XmlAttribute和XmlElement的区别。 http://www.deepleo.com/archives/775
C# XML序列化去掉XML默认的命名空间及声明头
去掉XML命名空间及声明头不影响反序列化, 直接上代码: // 序列化这个对象 int obj = 1; XmlSerializer serializer = new XmlSerializer(obj.GetType()); // 将对象序列化输出到文件 FileStream stream = new FileStream("hh.xml", FileMode.Create); XmlW
C# XML反序列化与序列化举例:XmlSerializer
using System; using System.IO; using System.Xml.Serialization; namespace XStream { /// /// Xml序列化与反序列化 /// zhangdapeng /// public class XmlSerializeUtil { #region 反序
用XmlSerializer进行xml反序列化的时候,程序报错: 不应有 <xxx xmlns=''>
反序列化的时候 必须加上 命名空间                     System.Xml.Serialization.XmlSerializer xmlser = new System.Xml.Serialization.XmlSerializer(_type, "HTTP://WWW.ECIDH.COM/WISTRON_KS/B2BRETURN");            
在XML序列化时去除默认命名空间xmlns:xsd和xmlns:xsi
可使用以下代码: //Create our own namespaces for the output XmlSerializerNamespaces ns = new XmlSerializerNamespaces (); //Add an empty namespace and empty value ns.Add ("", ""); //Create the seriali