名称空间和类名追加到序列化xml流的末尾

时间:2017-03-27 22:10:48

标签: c# xml-serialization

你知道它是如何运作的,你处理一个“你好世界”,而你的老板认为你已经为更大的事做好了准备。

我遇到了C#和xml序列化的问题。 xml保存到文件中,令人烦恼的是我在文件的最末端获得了namespace.typename。

namespace test123
{
    using System.Xml.Serialization;
    [System.SerializableAttribute()]
    [System.Xml.Serialization.XmlRootAttribute("MyTopClass", IsNullable=false)]

    public partial class MyTopClass {
        public MyMiddleClass DummyMiddle;
        [System.Xml.Serialization.XmlElementAttribute("MyMiddleArray")]
        public MyMiddleArray[] DummyMiddleArr;
    }

    [System.SerializableAttribute()]
    public partial class MyMiddleClass {
        public MyLowerClass DummyLower;            
    }

    [System.SerializableAttribute()]
    public partial class MyMiddleArray {
       public MyLowestClass DummyLowest;
       public MyLowesterClass DummyLowester;
    }

}

当我序列化DummyMiddleArray的一个元素时,我按预期获得xml,但最后,在结束标记旁边,我得到了命名空间和类名

</MyMiddleArray>test123.MyMiddleArray

我是否在最后摆脱了这一小段文字?

我宁愿离开课堂,它已经很久以前就已经发展起来了,从那时起就像一个魅力。

由于

EDIT 序列化+编写代码

 XmlSerializer serializer = new XmlSerializer(typeof(MyMiddleArray));
 using (StreamWriter writer = new StreamWriter(@"C:\test.xml",true))
 {
     serializer.Serialize(writer, mndt);
     writer.Write(mndt);
     //writer.Flush();
     //writer.Close();
 }

在获取xmlserializer的时候,我读到了“使用”的地方,你不需要刷新并关闭。取消注释两行代码不会改变输出。它能是什么?

0 个答案:

没有答案