【发布时间】:2014-08-20 13:34:22
【问题描述】:
我正在使用 XML 序列化,到目前为止我做得很好。但是,我偶然发现了一个问题,我希望你们能帮助我解决这个问题。
我有一门课如下:
public class FrameSection
{
[XmlAttribute]
public string Name { get; set; }
[XmlAttribute]
public string[] StartSection { get; set; }
}
当序列化时,我得到了类似的东西:
<FrameSection Name="VAR1" StartSection="First circle Second circle"/>
问题在于反序列化,我得到了四个而不是两个,因为空间用作分隔符,我想知道我是否可以使用不同的分隔符。
注意:我知道我可以删除[XmlAttribute] 来解决问题,但我更喜欢这种结构,因为它更紧凑。
序列化代码如下:
using (var fileStream = new System.IO.FileStream(FilePath, System.IO.FileMode.Create))
{
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(ModelElements));
System.Xml.XmlWriterSettings settings = new System.Xml.XmlWriterSettings();
settings.Indent = true;
settings.Encoding = Encoding.UTF8;
settings.CheckCharacters = false;
System.Xml.XmlWriter writer = System.Xml.XmlWriter.Create(fileStream, settings);
serializer.Serialize(writer, allElements);
}
【问题讨论】:
标签: c# xml list serialization