没有任何xml标记的自定义对象XML序列化

时间:2018-08-01 13:01:28

标签: c# serialization xml-serialization iserializable

我想创建一个自定义的可序列化“字符串”类,以处理默认的字符串格式,而无需在所有模型中实现逻辑。

我用隐式字符串运算符创建了一个可序列化的类

[Serializable]
public class FormattedString : ISerializable
{

    public static implicit operator FormattedString(string s)
    {
        return new FormattedString() { OriginalString = s };
    }

    public string OriginalString { get; set; }

    public override string ToString()
    {
        if (string.IsNullOrWhiteSpace(this.OriginalString))
            this.OriginalString = String.Empty;

        this.OriginalString = OriginalString.Trim().Replace(Environment.NewLine, " ");
        return this.OriginalString;
    }

    public void GetObjectData(SerializationInfo info, StreamingContext context)
    {
        info.AddValue("string", this.ToString());
    }
}

我的问题是序列化对象看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<SomeXml>
  <Zip2>
    <OriginalString>2094</OriginalString>
  </Zip2>
</SomeXml>

代替此

<?xml version="1.0" encoding="UTF-8"?>
<SomeXml>
  <Zip2>2094</Zip2>
</SomeXml>

如何以所需方式序列化对象?这有可能吗?

0 个答案:

没有答案