首页 > 解决方案 > 没有任何 xml 标签的自定义对象 XML 序列化

问题描述

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

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

[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>

如何以我想要的方式序列化对象?这可能吗?

标签: c#serializationxml-serializationiserializable

解决方案


推荐阅读