问题标签 [xml-deserialization]

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 投票
17 回答
751296 浏览

c# - 如何反序列化 XML 文档

如何反序列化此 XML 文档:

我有这个:

.

.

这似乎不起作用:-(

0 投票
7 回答
159569 浏览

c# - 是否可以将 XML 反序列化为 List?

给定以下 XML:

以及以下课程:

是否可以使用XmlSerializer将 xml 反序列化为List<User>? 如果是这样,我需要使用什么类型的附加属性,或者我需要使用什么附加参数来构造XmlSerializer实例?

User[]如果不太可取,数组 ( ) 是可以接受的。

0 投票
1 回答
1341 浏览

xml - XML 反序列化未设置类值

我没有看到我做错了什么。为了查看正在执行的操作,我将构造函数值更改为“TEST”,在读入 XML 之后(我验证了 XML 是什么),类值仍然停留在“TEST”。还有什么想法吗?我已经在另一个可以正常工作的班级中进行此过程,我和一些同事都找不到差异。

XML:

CLASS:(尝试不使用 XMLElement,并尝试使用 XMLAttribute 只是为了查看,没有变化)

XML 处理类:

0 投票
4 回答
2143 浏览

c# - xml-反序列化

我试图反序列化我的类,通常是序列化的。

我序列化类 MyClass 没有错误,但是当我尝试反序列化它时,我收到了一个类 MyClass 在 Section 中具有空属性(此属性为空)!

这是为什么,如何解决这个问题?

示例 xml:

序列化和反序列化代码:

用于序列化/反序列化的类:

连载:一切顺利!

反序列化:一切都很糟糕!

谢谢, 奥克萨娜

0 投票
3 回答
3438 浏览

xml-serialization - C# XML 反序列化 W/默认值

我有一个对象正在通过 C#、.NET 3.5 中的 XmlSerializer 进行序列化/反序列化。其中一个属性(以及未来的更多属性)是一个集合: List 其中 T 是一个枚举值。这可以很好地序列化/反序列化。

我们还使用“默认值”机制为对象提供默认值,以防序列化版本没有设置任何值。作为一个简单的例子,这里是我们的东:

此代码适用于在构造对象时设置 SomeSetting 的默认值。

但是,当我们反序列化具有 SomeSetting 值的 xml 文件时,此默认值设置会导致问题:xml 反序列化器不会“重置” SomeSetting 集合 - 它不会将其擦除并填充新数据。相反,它会添加到已经存在的数据中。因此,如果 xml 文件已将 Value1 序列化到其中,当我反序列化该文件时,我最终会得到 SomeSettings 具有 {Value1, Value2, Value1} 作为存储的值。

我需要一种 xml 反序列化过程的方法,以在 xml 文档中没有 SomeSetting 的数据时允许我的默认值存在,并在 xml 文档中有数据时批量替换 SomeSetting 值。我怎样才能做到这一点?

仅供参考 - 这不是文档中的唯一属性。该文档确实存在,并且正在针对其他“简单”值进行序列化/反序列化。但是,这是导致问题的属性。我必须支持这种情况,因为我现在需要做很多事情。

0 投票
1 回答
2724 浏览

c# - 具有 Name 属性的 C# XML 字符串元素

我正在尝试使用字符串属性创建用于序列化/反序列化的 ac# 对象。该属性需要生成一个元素并且还具有一个属性:

例如:

如果属性是字符串,我看不到如何添加属性,如果注释是具有 Name 和 Value 属性的对象,则会生成:

有任何想法吗?

0 投票
3 回答
5523 浏览

c# - C# XML 在 xml 标签后插入注释到 XML

我正在使用 C# 对象来序列化/反序列化 XML。

我想在序列化时向 XML 文件添加注释,此注释将是<!-- comment --> 标准 xml 标记之后的基本注释<?xml version="1.0" encoding="UTF-8"?>

此注释不需要反序列化,它是一个基本注释,用于指示创建 xml 文件的产品和版本。

0 投票
2 回答
11372 浏览

c# - System.InvalidOperationException 未处理 - XMl 序列化 C#

我使用 XML 序列化制作了一个 xml 文档。

看起来像这样

我的代码来做这个

}

现在,当我尝试对其进行反序列化时,出现此错误

我不确定为什么会这样。

一些附带问题 - 请在回答主要问题后回答

除非必须,否则我不想为这两个问题发布新的论坛帖子。

  1. 为什么给它一个对象类型很重要?就像为什么不将所有字段都设为字符串?

    /li>

是否只是为了在反序列化时获得在这种情况下的 Guid,以便以后不必将其从字符串转换为 Guid?

如果这是正确的,如果你从别人那里得到一个 xml 文件并且你想反序列化它,你怎么知道从中会产生什么对象呢?例如,你怎么知道我的“OutOf”实际上是一种可以为空的小数?事实上,C# 是如何知道这一点的?我没有看到任何可以暗示这是类型的东西。

  1. 当我让它真正反序列化时,我想知道如何制作我的 foreach 循环。因为我想浏览每个“MyWrapper”对象列表。但是在 MyWrapper 中有一个 Task 对象的集合。那么我是否必须在我的 foreach 循环中创建一个 for 循环才能获得它?或者,还有更好的方法?

谢谢

0 投票
19 回答
278355 浏览

python - 如何将 XML 字符串转换为字典?

我有一个从套接字读取 XML 文档的程序。我将 XML 文档存储在一个字符串中,我想将它直接转换为 Python 字典,就像在 Djangosimplejson库中完成的那样。

举个例子:

然后dic_xml看起来像{'person' : { 'name' : 'john', 'age' : 20 } }

0 投票
1 回答
1398 浏览

wcf - WCF、XmlRoot 和可选参数

我有一个 WCF 服务并且不能使用 DataContracts,因为我需要对接收和发送到该服务的 XML 进行更多控制。因此,我使用 XmlRoot 和 XmlElement ...我现在遇到的问题是接收 xml 被反序列化到的类和序列化响应都需要具有相同的根名称,并且当我尝试设置这两个类都具有:

我收到一条错误消息,指出根名称已被使用。有一个简单的解决方法吗?我尝试将我的响应类放在一个单独的命名空间中,但这似乎不起作用。

如果某些变量未在我的响应类中设置并被序列化,那么我不会将它们序列化并在响应中返回......是否有一个选项我错过了这样做......我能够使用 DataContract 执行此操作,但无法使用 XmlElements 解决此问题