问题标签 [ixmlserializable]

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 回答
637 浏览

c# - 列表的 XML 序列化

我的 xml 格式为

我正在尝试使用 C# 和 IXmlSerializable 接口对此进行序列化。我有三个类,它们都继承了 IXmlSerializable 接口,我的意图是 XML 将被最顶层的类读取,并且它将循环通过将“list”类型的 xml 传递给子对象序列化器。“列表”序列化然后依次循环所有“特征”条目。下面是我的代码的精简版。

我尝试了几种循环方法,但总是以无限循环结束,由于尝试以错误类型序列化错误的 xml 位而导致错误,或者在跳过整个列表后到达末尾。

我是 Xml 序列化的新手,这种方法很幼稚,我愿意接受任何建议。

这个 XML 将来可能会发生变化(更多属性、元素类型等),因此必须是可维护的,我不能保证也不会出现空元素。

0 投票
1 回答
106 浏览

xml - 具有单独的 XmlSerializer 函数

我想为 xml 序列化创建通用函数,但是有一个问题需要对要序列化的对象进行 typeof,但我不知道它可以是什么类型的对象(persondetails 或 logindetails)我引用了这个示例并尝试修改但typeof 用红色下划线请帮帮我

原来的

我的代码

0 投票
1 回答
683 浏览

c# - 使用 LINQ to XML 实现 IXmlSerializable

我觉得这可能是重复的,但我找不到我正在寻找的确切答案。我正在一个对象上实现IXmlSerializable并想知道使用linq-to-xml是否可以接受。

换这个...

有了这个...

我的实际实现显然更复杂,以至于我觉得linq-to-xml结构更简单,更具可读性。以上可以接受吗?

0 投票
3 回答
822 浏览

java - 通过意图将对象传递给新活动时的空指针

因此,我已经阅读了该站点(和其他站点)上的许多问题,但找不到适合我的代码的有效解决方案,因此我认为下一步是将其发布在此处。我正在做一个迷宫游戏。我有一个生成活动和一个播放活动,我正在尝试将生成的 Maze 对象传递给 PlayActivity。迷宫是可序列化的,但是当我尝试从 PlayActivity 中的意图中获取迷宫时,它返回一个空指针异常。任何想法都会很棒。

然后生成活动:

最后是 PlayActivity:

我知道有人可能会建议使用 Parcelable,但我的 Maze 类有太多的数据字段,看起来并不值得(除非有人有充分的理由)。

编辑:这是日志:

0 投票
1 回答
1278 浏览

c# - 使用自定义 IXmlSerializable 时缺少 xsi 和 xsd 命名空间

我遇到以下问题。每当我在我的 C# 类中使用默认 XML 序列化时,命名空间xsixsd.NET 序列化引擎都会自动添加。但是,当通过 定义序列化时IXmlSerializable,不会添加命名空间。

示例:此代码:

产生以下输出:

您可以看到OuterCustom的序列化形式缺少xsdandxsi命名空间。

我怎样才能使我的OuterCustom行为方式与我相同Outer?我的代码中是否缺少某些内容?我做错了自定义序列化吗?

这里有很多关于如何摆脱额外命名空间的问题,但似乎没有人问过如何让它们回来

0 投票
0 回答
284 浏览

abstract-class - 如何为 ICollection 正确实现 IXmlSerializable其中 T 是一个抽象类?

我正在尝试在 T 的集合中实现 IXmlSerializable 接口,其中 T 是一个抽象类。我的情况是这样的:

  1. 我有一个实现 IXmlSerializable 的抽象类 BaseClass
  2. 两个派生类(Deriv01、Deriv02),它们继承自 BaseClass 并覆盖正确实现 WriteXml 和 ReadXml 的方法
  3. BaseClass (BaseClassCollection) 的集合,它是一个 ICollection,也实现了 IXmlSerializable

集合的序列化工作正常,但我坚持反序列化,我不知道如何实现它,我希望你能帮忙。

这是我的实现:

0 投票
0 回答
633 浏览

xml - IXmlSerializable 数组的 XmlSerialization

我有一个场景,其中请求对象被 XML 序列化并发送回 TCP 服务器以进行处理。序列化由遗留框架完成。不用说,我无法在遗留框架中进行更改。然而,遗留框架足够智能,可以意识到请求对象是否正在实现IXmlSerializable,在这种情况下,它需要接口的 WriteXml 方法来进行序列化。我想最大限度地控制我手中的 serailzation 过程,因此我这样编写了我的 RequestBase 类:

这门课就像人们想象的那样简单。任何请求对象都必须实现它。一个示例请求类是这样的:

上面的类给了我以下Xml:

到目前为止,太阳一直很亮,我很高兴这能奏效。然后出现了一个场景,后端服务器开始期待它称为BulkRequest的东西。现在的请求将被集成为集合。

我尝试使用以下 BulkRequest 类处理这种情况:

现在这行不通。我想要一个如下的xml:

这是针对批量请求中存在的两个 CuteRequest 对象。但我得到以下xml:

问题有两个:

  • 如何摆脱强迫自己进入的“ BulkRequest ”标签。

  • 如何使项目(即 MyCuteRequest)的 XmlRoot 值出现在 Xml 中(包含每个参数标记。)

感谢您耐心阅读到这里。任何帮助将不胜感激,因为几个小时的谷歌搜索证明是徒劳的。

问候,

0 投票
2 回答
145 浏览

c# - PaymentDetails 没有成功反序列化,返回一个空对象,因为它似乎应该有 IXmlDeserializable

鉴于此示例,使用 XmlSerializer 将我的字符串反序列化为 QuoteObject,PaymentDetails 没有成功反序列化,返回一个空对象,因为它似乎应该具有 IXmlDeserializable。它仅在首先解析 PaymentDetails 时才有效。这是 XmlSerializer 的一些预期行为吗?

0 投票
1 回答
544 浏览

c# - IXmlSerializable 抽象类创建异常

我正在尝试WorldObject使用接口将一系列从单个抽象超类派生的子类序列化为 XML IXmlSerializable。我必须使用这个接口,因为我希望类在反序列化时订阅一些事件。

使用这个答案,我想出了以下代码:

初始化的最后一行XmlSerializer会引发运行时错误:System.MissingMethodException:无法创建抽象类“Namespace.WorldObject”。当我尝试使用typeof(WorldObject)而不是typeof(List<WorldObject>).

我还尝试在每个类中将 XMLRoot 设置为相同的值,如此处所示,但错误仍然存​​在。

0 投票
1 回答
510 浏览

c# - Windows 8 商店应用 XmlWriter 不向文件写入任何内容

我不太熟悉 .NET 的 XML 库,并试图围绕 IXmlSerializable 接口。我正在开发一个 Windows 商店应用程序 (W8) 并希望使用 IXmlSerializable 接口,但是遇到了问题。XmlTextWriter 在 Windows 商店应用程序中不可用,因此我使用 XmlWriter 的工厂方法,但我的代码没有向 XML 文件输出任何内容(其为空白)。

如果我使用 XmlSerializer,XML 文件会按预期输出,但希望实现 IXmlSerializable,因为在我的生产应用程序中我将拥有私有字段。

这是我正在使用的示例代码

在我的 XAML 代码后面