问题标签 [xml-serialization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3771 浏览

c# - c#的xml序列化中是否有跳过空数组的属性?

c#的xml序列化中是否有跳过空数组的属性?这将增加 xml 输出的可读性。

0 投票
2 回答
1108 浏览

c++ - 在 MFC C++ 中创建 XmlSerializer

我想在我的 MFC 应用程序项目中实现这个用 C# 编写的逻辑,如下所示:

我怎么能用 C++ 写这个?

0 投票
3 回答
944 浏览

ruby-on-rails - 在 Rails 中为 to_xml 序列化程序设置新的默认属性

在 Rails 中,我编写了一系列控制器来生成 XML。每次我将一些属性传递给 to_xml 时,例如:

有没有办法可以将这些设置为新的默认属性,每当在我的应用程序中调用 to_xml 时都会应用这些属性,这样我就不必重复自己了?

0 投票
4 回答
504 浏览

c# - 有没有办法将对象(及其属性)序列化为 xml?

创建一个类(称为 FormElement)。该类应该具有一些属性,例如它们具有数据元素的元数据(名称、序列号、值——它只是一个字符串等)。

此类具有类型验证应用程序块验证类的属性。

我想将它序列化为 xml 并反序列化它。验证包括验证应用程序块属性在内的类的所有属性在序列化过程中是否存在。

一些建议?

0 投票
3 回答
4987 浏览

c# - 为什么 XmlSerializer 不需要将类型标记为 [Serializable]?

在 C# 中,如果我想用 序列化一个实例XmlSerializer,则对象的类型不必用[Serializable]属性标记。但是,对于其他序列化方法,例如DataContractSerializer,需要将类标记为[Serializable][DataContract]

有没有关于序列化要求的标准或模式?

0 投票
2 回答
1085 浏览

delphi - TClientDataset: 'XML 不支持字段类型。'

我将一堆数据加载到 TClientDataset 中,代表一组复杂对象。但是当我尝试跑步时

它不喜欢它:

项目 testing.exe 引发异常类 EDBClient 并带有消息“XML 不支持字段类型。”。

由于两个原因,这比它应该的用处要少得多。首先,它没有说明不支持哪个字段或哪个字段类型,其次,实际保存是在黑盒 DLL 中进行的。

我在这个数据集中使用的唯一字段类型是整数、字符串、布尔值和一些保存整数字段数组的 TArrayField。没有什么是我期望的那么难以序列化。任何人都知道为什么这不起作用?

0 投票
1 回答
861 浏览

c# - Windows Mobile 中的数据策略

我正在 Windows Mobile 上开发 C# 应用程序,并且像我的大多数 WM 应用程序一样,每当我决定序列化策略时,我总是陷入困境。在桌面世界中,我并不太担心它,因为我已经开发了一个非常强大的自定义 xml 序列化程序 - 但是,在 WM 世界中,我不想使用它,因为反射性能会受到影响。

所以我针对数据访问对象 (DAO) 接口开发所有东西,因此我可以轻松换出不同的实现来序列化为 xml、注册表、sqlce 等。在开始开发时,我通常实现一个非持久内存 DAO (使用 Dictionary<>),当我想要持久化数据时使用 XmlSerializer DAO,然后当一切完成后,转移到成熟的 sqlce DAO。

但是,在我最新的应用程序中,我不能使用 XmlSerializer DAO,因为它(不)处理接口属性的能力非常差。IE,我有一个 Foo 对象,它包含一个 List< IBar > Bars 属性,XmlSerializer 无法序列化它(尽管我很容易能够开发自己的自定义 xml 序列化器,它可以 - 去图)。

所有这些都是为了问这个问题:您找到了哪些 DAO 策略来帮助您开发 WM 应用程序?你是否为不同应用成熟度级别的多个不同 DAO 提前计划?你是从成熟的 sqlce DAO 开始的吗?当无法使用 XmlSerializer 时,您会推荐什么用于快速简便的持久序列化 DAO?

0 投票
2 回答
22841 浏览

c# - .Net XmlSerializer:将 CDATA 反序列化为内部文本

我在使用标准 .Net XmlSerializer 进行 CDATA 反序列化时遇到问题。

更新:我从外部系统获取 XML,我无法影响它的格式,因此我无法将 CData 包含在单独的属性元素中。

序列化给出了这个:

反序列化不会将对象恢复到其原始状态。

这是正在序列化的类:

这是失败的测试:

我在这里发现了同样的问题,但没有答案: XmlSerializer、XmlAnyElement 和 CDATA

0 投票
3 回答
1661 浏览

.net - 你能控制DataContractSerializer反序列化的深度吗?

我有一个相当大的对象图,我已通过 DataContractSerializer 将其序列化为一个文件。我现在想向用户展示这些文件的列表以供选择。在此列表中,我想显示有关文件的一些详细信息,它们是根对象的属性。我不想将整个图形加载到内存中,因为我只对显示根节点的属性感兴趣。

有谁知道控制反序列化“深度”的方法,这样我就可以从文件中提取根对象并跳过子对象?我宁愿避免将文件视为原始 XML,因为我没有在其他任何地方进行任何原始 XML 操作,这将是我必须保持同步的另一个代码分支。

我现在唯一的想法是创建一个兼容的“摘要”对象,其中只包含我感兴趣的属性,而不包含任何子对象,并将文件反序列化为该对象。这应该跳过孩子,因为它们与摘要对象无关。

有没有更好的方法来实现这一点?

更新/澄清:属性不是我正在寻找的答案。一方面,当对象第一次序列化时,它们会阻止“额外”属性出现在文件中。

其次,它们比我想要做的更持久。最终,我确实想反序列化整个文件,但不是在这一点上。我正在尝试显示用户将从中选择导入的文件的摘要列表。在导入期间,我将需要所有的子孙。在第 1 步中这只是矫枉过正。这些文件可能是大文件,因此完全反序列化其中的几个以便我可以显示它们的标题信息是行不通的。

希望这可以消除对原始问题的任何困惑。

0 投票
1 回答
1073 浏览

c# - XML序列化空集合不自动关闭

想知道是否有人可以帮助我解决这个烦人但微不足道的(就需要而言)问题。我有一个对象,里面有一个对象集合

基本上我遇到的问题是,如果我通过 xml 序列化程序传递它

我想知道为什么当我没有内部类时它会输出

为什么它不把 InnerClasses 作为一个自闭标签?

我意识到上面的代码会放,但我不能放完整的实际代码清单。(我知道没多大用处)我只是在寻找可能导致它的指针。

我一生都无法弄清楚为什么默认情况下它不这样做。

非常感谢您提供有关查看位置的任何意见。