首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以将动态对象图序列化为具有特定xml名称空间(xmlns)的xml吗?

可以将动态对象图序列化为具有特定xml名称空间(xmlns)的xml吗?
EN

Stack Overflow用户
提问于 2011-08-30 07:30:12
回答 1查看 971关注 0票数 1

我有一个古怪的场景,由于我们使用了.NET 4和C# 4,这似乎是板上钉钉的事情。事实证明,解决方案更加复杂,并且可能不存在于某些完全自定义的解决方案之外。

简而言之,我需要序列化一个动态对象,该对象具有一组固定的、必需的属性和一组任意的可选属性。根元素必须在xmlns属性中包含一个自定义xml命名空间,并且某些子对象可能需要使用不同的xml命名空间。我们的第一种方法是从DynamicObject派生一个自定义类。这允许我们添加一个XmlRootAttribute并指定一个名称空间。除了在动态属性上定义自定义名称空间的复杂性之外,即使是这种简单的方法似乎也不起作用。尽管XmlSerializer被作为要序列化的对象传递了一个dynamic变量,但它只是序列化硬编码的属性,并忽略该对象的任何动态方面。

我们使用JsonFx 2.0已经有一段时间了,并决定试一试。通过对我们的DynamicObject派生进行一些仔细的改进,我们能够让XMLNS2.0序列化所有必要的内容,但是它拒绝序列化任何JsonFx属性。

有没有办法将部分动态对象序列化为xml并包含特定的名称空间?或者这只是一种必须定义任意复杂的对象图的情况,选择适合特定需求的图作为运行时动态派生的图?

当涉及到序列化动态对象时,XML4的序列化故事似乎相当松散。

EN

回答 1

Stack Overflow用户

发布于 2011-08-30 08:04:52

XmlSerializer将在执行查找[XmlElement]及其疯狂兄弟程序所需的任何反射魔术之前检查您的IXmlSerializable实现(如果您实现了它)。只需在实现DynamicObject的同时实现IXmlSerializable,您就应该能够动态地读写任何您喜欢的DynamicObject

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7237164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档