问题标签 [xmlserializer]

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

.net - XmlSerializer 将具有空字符串的属性反序列化为零

我想使用 XmlSerializer 并将具有空字符串值的属性反序列化为整数的零。我看到的关于使用空字符串反序列化属性的每个问题都涉及将可空整数设置为空 - 但我想将不可空整数设置为零,而不是空。

有没有什么简单的方法可以做到这一点而不实现 IXmlSerializable 并且只自己处理它?

0 投票
1 回答
12272 浏览

c# - 使用 XmlSerializer 创建具有属性和值但没有子元素的元素

希望这对于那里的某个人(可能是骗子)来说应该是一个简单的答案,但我似乎无法弄清楚。

我需要输出一个如下所示的元素:

我知道如何得到这个:

数量类包含

但是当然,我将数量插入的任何变量都会成为它自己的子元素。

另一方面,如果我将 Quantity 设为父元素中的变量,那么我可以设置该值并获取

但后来我不知道如何获得属性。

如果没有使用 XmlSerializer 执行此操作的简单方法,我会感到非常惊讶,但我还不知道。有任何想法吗?

0 投票
1 回答
10420 浏览

c# - XmlArrayAttribute 和 XmlArrayItemAttribute 有什么区别?

XmlArrayAttribute 和 XmlArrayItemAttribute 有什么区别?请解释双方(即序列化和反序列化)。

0 投票
3 回答
11994 浏览

c# - 性能:BinaryFormatter 与 XmlSerializer

我经常读到 BinaryFormatter 比 XmlSerializer 具有更好的性能。出于好奇,我写了一个测试应用程序。

一个wtf时刻......为什么Xml比Bin快得多(尤其是反序列化)?

我的结果:

0 投票
3 回答
2893 浏览

visual-studio-2010 - VS.NET 2010/MSBUILD 能否为 .NET 3.5 SP1 生成 XmlSerializer?

我刚刚将包含 WinForms、通用库和 Web 应用程序的 VS 2008 解决方案升级到 VS 2010,但所有项目仍以 .NET 3.5 SP 1 为目标。我使用这种技术为我的通用库生成 XmlSerializer。WinForms 应用程序运行良好。当我的 Web 应用程序尝试使用这些引用相同 XmlSerializer 的库运行时,它会抛出以下内容:

“/WebSubscribers”应用程序中的服务器错误。无法加载文件或程序集“Ceoimage.Basecamp.XmlSerializers”或其依赖项之一。此程序集由比当前加载的运行时更新的运行时构建,无法加载。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.BadImageFormatException:无法加载文件或程序集“Ceoimage.Basecamp.XmlSerializers”或其依赖项之一。此程序集由比当前加载的运行时更新的运行时构建,无法加载。

我使用.NET Reflector查看了 XmlSerializer 的引用,发现它引用了 .NET Reflector 的 2.0 和 4.0 版本mscorlib以及System.Data.Linq. 奇怪的是,它只使用了 4.0 版本的System.Xml. 那可能是我的问题。

如何使用这些 XmlSerializer 让 Web 应用程序运行?当我简单地删除那些 XmlSerializer 时,Web 应用程序运行良好。这是一个选项,但如何强制 MSBUILD 为特定版本的 CLR 创建序列化程序?

这是我添加到项目文件中的 MSBuild 任务,它强制创建 XmlSerializer:

0 投票
2 回答
173 浏览

c# - 使用 XmlSerializer 创建非标准元素

我正在尝试创建一个 XML 输出文件以导入另一个程序。我得到的示例 XML 文件如下所示:

我有一个 C# 项目,它能够使用 XmlSerializer 输出这种类型的文件,但此部分除外:

LineItemList 部分只是一个 LineItem 列表,但在 LineItemList 的开头添加了这个不同的元素 OrderLineComment。

如果我将其表示为 LineItems 数组,那么除了缺少 OrderLineComment 之外,它看起来是一样的。如果我将其表示为包含 OrderLineComment 和 LineItems 数组的新对象 LineItemList,我会得到:

哪个有我想要的,除了它用<LineItems>标签包装所有 LineItems,这也不是我想要的。

所以我想知道的是:

  1. 有没有办法通过 XmlSerializer 做到这一点?如果是这样,怎么做?
  2. 如果没有,我必须重写代码以使用 XmlSerializer 以外的东西,那么最好的方法是什么,为什么?

提前致谢。

0 投票
1 回答
6778 浏览

wcf - WCF method throws an exception of maximum items in an object graph is '65536'

I get an exception when there are too many objects returned:

The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://.../Contract:GetBlaBlaResult. The InnerException message was 'Maximum number of items that can be serialized or deserialized in an object graph is '65536'. Change the object graph or increase the MaxItemsInObjectGraph quota. '. Please see InnerException for more details.

I’ve looked it up and added under behaviors in the server side:

And in the client side:

But it seems that it is ignored and the exception keeps arising.

The thing is I use XmlSerializer (for attributes in the elements):

and the exception, as you can see, refers to the dataContractSerializer (and so is the configuration I’ve added above).

Is it the XmlSerializer that mess up the things?

Can somebody advise please?

Thanks a lot :)

0 投票
1 回答
1578 浏览

xml-serialization - JSON.NET、XmlSerializer 和“指定”属性

我有一个 REST 服务,它将 JSON 和 XML 作为输入,并对带有反序列化内容的外部服务进行 SOAP 调用。用于反序列化的类是从 SOAP 服务的 wsdl 自动生成的。我在 XML 请求的情况下使用 XmlSerializer,并且我想将 Newton JSON.NET JsonSerializer 用于 JSON。

现在我遇到了问题,WSDL 生成的类包含可选原子值(例如 bool、int 等)的“指定”属性。这由 XmlSerializer(根据接收到的 XML 设置属性)而不是由 Newton JSON.NET Serializer 处理。我不想强制调用者将 XXXSpecified 元素添加到 JSON 字符串。

如何使用 JSON.NET 序列化程序处理“指定”属性?

0 投票
6 回答
82189 浏览

c# - 如何对字典进行 XML 序列化

我已经能够以这种方式序列化 IEnumerable:

但是,我意识到现在我需要一个包含集合的字典Dictionary<string, RecordCollection>(RecordCollection 实现了 IEnumerable)。

我怎样才能做到这一点?

0 投票
1 回答
10879 浏览

c# - 如何从 XML 根元素中删除命名空间?

有没有一种简单的方法可以从 XML 根元素中删除命名空间。我试过了

在可序列化的类上。但是没有用。仍然得到相同的结果。

样本类

结果 xml

我不明白在 XmlRootAttribute 中指定 namsespace 有什么用?