【问题标题】:How to seralize only some properties in .Net?如何仅序列化.Net中的某些属性?
【发布时间】:2011-01-27 21:42:29
【问题描述】:

这是一个网络项目,所以我有几个继承自 Web.UI 的类。

我只想序列化非常特殊的属性(基本上,只有本地属性)

我知道 XMLIgnore 属性可以放在属性上以忽略项目,但这在我的上下文中不起作用,因为这需要修改一堆我真的不想修改的东西(并且可能不能)。

那么我如何告诉 xml 序列化程序忽略除 X 和 Y 之外的所有内容,或者告诉它只序列化 X 和 Y?

我可以在字符串生成器或其他东西中创建我自己的 xml,如果这是唯一的方法,那就这样吧。但是我正在寻找一种可以使用内置 XML 内容的方法。

谢谢

【问题讨论】:

    标签: c# .net vb.net


    【解决方案1】:

    对于自定义序列化,您可以从ISerializable 接口派生您的类并相应地提供自定义序列化

    【讨论】:

    • 效果很好。谢谢你和Si。现在只需要弄清楚如何让它不添加默认的打开元素(类名)
    【解决方案2】:

    为什么不实现IXmlSerializable

    【讨论】:

      【解决方案3】:

      您可以对其进行一些修改,然后在 XML 返回后简单地从 XML 中删除内容。

      与 XMLIgnore 相比,这是一个糟糕的想法,这是正确的解决方案,但您当然可以提取 XML,旋转它,然后删除您不想看到的任何内容。

      有时糟糕的想法是最好的。

      【讨论】:

        猜你喜欢
        • 2023-03-29
        • 1970-01-01
        • 2015-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-22
        • 1970-01-01
        相关资源
        最近更新 更多