是否存在可二进制序列化的 XML 特定对象(如 XElement)?

Posted

技术标签:

【中文标题】是否存在可二进制序列化的 XML 特定对象(如 XElement)?【英文标题】:Is there an XML specific object (like XElement) that is binary serializable? 【发布时间】:2010-12-28 21:21:36 【问题描述】:

我有一个用例,我通过 MSMQ(主要是字符串)通过网络对对象进行序列化。当我从队列中读取对象时,我希望能够判断用户是否希望该对象是 XML 或字符串。我在想一个好方法就是检查类型。如果它是 XmlElement,则它变成 XML 数据,否则它变成字符串或 CDATA。我不想只检查数据是否为有效 XML 的原因是,有时会提供应该序列化为字符串但实际上是有效 XML 的数据。我希望调用者能够控制反序列化为字符串或 XML。

是否有任何类型在 .NET Framework 中被标记为可序列化,例如 XElement 或 XmlElement(两者均未标记为可序列化)?

【问题讨论】:

只是想知道 - 你是一个,还是你想检查没有一个? 我正在检查是否有一个类表示 XML 元素,存在于核心框架中,并标记为可序列化。 【参考方案1】:

为什么不给序列化对象的类添加一个属性来告诉你它是什么?我建议使用 IsXml。

【讨论】:

我可以做一个包装类...现在这个类只是字符串,我正在寻找一个表示 XML 元素的替代品,已经存在于框架中,并且是可序列化的。 这就是我所做的。感谢您让我的大脑开始 nobugz :)

以上是关于是否存在可二进制序列化的 XML 特定对象(如 XElement)?的主要内容,如果未能解决你的问题,请参考以下文章

面试题:serialVersionUID

XML

如何在读取之前测试存储中是不是存在可序列化对象?

python内置函数

CLR 序列化

如何从 XML 的特定部分将 XML 序列化为对象?