问题标签 [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.
c# - 如何反序列化 XML 文档
如何反序列化此 XML 文档:
我有这个:
.
.
这似乎不起作用:-(
c# - 是否可以将 XML 反序列化为 List?
给定以下 XML:
以及以下课程:
是否可以使用XmlSerializer
将 xml 反序列化为List<User>
? 如果是这样,我需要使用什么类型的附加属性,或者我需要使用什么附加参数来构造XmlSerializer
实例?
User[]
如果不太可取,数组 ( ) 是可以接受的。
xml - XML 反序列化未设置类值
我没有看到我做错了什么。为了查看正在执行的操作,我将构造函数值更改为“TEST”,在读入 XML 之后(我验证了 XML 是什么),类值仍然停留在“TEST”。还有什么想法吗?我已经在另一个可以正常工作的班级中进行此过程,我和一些同事都找不到差异。
XML:
CLASS:(尝试不使用 XMLElement,并尝试使用 XMLAttribute 只是为了查看,没有变化)
XML 处理类:
c# - xml-反序列化
我试图反序列化我的类,通常是序列化的。
我序列化类 MyClass 没有错误,但是当我尝试反序列化它时,我收到了一个类 MyClass 在 Section 中具有空属性(此属性为空)!
这是为什么,如何解决这个问题?
示例 xml:
序列化和反序列化代码:
用于序列化/反序列化的类:
连载:一切顺利!
反序列化:一切都很糟糕!
谢谢, 奥克萨娜
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 值。我怎样才能做到这一点?
仅供参考 - 这不是文档中的唯一属性。该文档确实存在,并且正在针对其他“简单”值进行序列化/反序列化。但是,这是导致问题的属性。我必须支持这种情况,因为我现在需要做很多事情。
c# - 具有 Name 属性的 C# XML 字符串元素
我正在尝试使用字符串属性创建用于序列化/反序列化的 ac# 对象。该属性需要生成一个元素并且还具有一个属性:
例如:
如果属性是字符串,我看不到如何添加属性,如果注释是具有 Name 和 Value 属性的对象,则会生成:
有任何想法吗?
c# - C# XML 在 xml 标签后插入注释到 XML
我正在使用 C# 对象来序列化/反序列化 XML。
我想在序列化时向 XML 文件添加注释,此注释将是<!-- comment -->
标准 xml 标记之后的基本注释<?xml version="1.0" encoding="UTF-8"?>
此注释不需要反序列化,它是一个基本注释,用于指示创建 xml 文件的产品和版本。
c# - System.InvalidOperationException 未处理 - XMl 序列化 C#
我使用 XML 序列化制作了一个 xml 文档。
看起来像这样
我的代码来做这个
}
现在,当我尝试对其进行反序列化时,出现此错误
我不确定为什么会这样。
一些附带问题 - 请在回答主要问题后回答
除非必须,否则我不想为这两个问题发布新的论坛帖子。
为什么给它一个对象类型很重要?就像为什么不将所有字段都设为字符串?
/li>
是否只是为了在反序列化时获得在这种情况下的 Guid,以便以后不必将其从字符串转换为 Guid?
如果这是正确的,如果你从别人那里得到一个 xml 文件并且你想反序列化它,你怎么知道从中会产生什么对象呢?例如,你怎么知道我的“OutOf”实际上是一种可以为空的小数?事实上,C# 是如何知道这一点的?我没有看到任何可以暗示这是类型的东西。
- 当我让它真正反序列化时,我想知道如何制作我的 foreach 循环。因为我想浏览每个“MyWrapper”对象列表。但是在 MyWrapper 中有一个 Task 对象的集合。那么我是否必须在我的 foreach 循环中创建一个 for 循环才能获得它?或者,还有更好的方法?
谢谢
python - 如何将 XML 字符串转换为字典?
我有一个从套接字读取 XML 文档的程序。我将 XML 文档存储在一个字符串中,我想将它直接转换为 Python 字典,就像在 Djangosimplejson
库中完成的那样。
举个例子:
然后dic_xml
看起来像{'person' : { 'name' : 'john', 'age' : 20 } }
wcf - WCF、XmlRoot 和可选参数
我有一个 WCF 服务并且不能使用 DataContracts,因为我需要对接收和发送到该服务的 XML 进行更多控制。因此,我使用 XmlRoot 和 XmlElement ...我现在遇到的问题是接收 xml 被反序列化到的类和序列化响应都需要具有相同的根名称,并且当我尝试设置这两个类都具有:
我收到一条错误消息,指出根名称已被使用。有一个简单的解决方法吗?我尝试将我的响应类放在一个单独的命名空间中,但这似乎不起作用。
如果某些变量未在我的响应类中设置并被序列化,那么我不会将它们序列化并在响应中返回......是否有一个选项我错过了这样做......我能够使用 DataContract 执行此操作,但无法使用 XmlElements 解决此问题