问题标签 [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 投票
2 回答
1324 浏览

c# - XmlSerializer、sgen.exe 和泛型

我有一个通用类型:

我想从/到 XML 反序列化/序列化这种类型的实例。IContent是这样定义的:

基本上,我希望Packet使用其内容提供的序列化程序来序列化和反序列化其内容成员。这个序列化器实际上是一个由 sgen.exe 生成的预编译 xml 序列化器的实例。

是否有可能不Packet<T>实施IXmlSerializable

0 投票
2 回答
1437 浏览

.net - XML 反序列化 - 自动将属性值转换为类 (.net)

(vb.net/c#/等)

我无法弄清楚如何做一些反序列化魔术。目前标准反序列化工作正常,包括枚举,但现在我想将属性转换为类。哦!我在什么!

我的 xml 看起来有点像这样:

这适用于我的财产/班级:

我怎样才能帮助序列化程序,以便它可以自动将我的字符串属性反序列化到这个类中?我是否需要以某种方式修改 MyVersion 类,或更改属性的定义?

  • 不想重写任何方法,如 OnDeserialized 等。这对这个项目来说是不值得的。

如果这不能用默认的 xml 反序列化器完成,那么知道就足够了。它有很多不好的地方,所以我不会感到惊讶。

谢谢!

0 投票
6 回答
23711 浏览

c# - 使用具有私有和公共 const 属性的 XmlSerializer

让 XmlSerializer 也序列化类或结构的私有和“公共 const”属性的最简单方法是什么?对我来说,并非所有输出都是公开的。将其设为私有或添加 const 会导致值不被序列化。

0 投票
1 回答
255 浏览

xml - 如何将外部数据添加到 XML?

我有一个 XML 模式和一个对该模式有效的 XML 实例。

此 XML 实例包含一些数据。

我想用更多数据(我自己的 XML 实例中每个 XML 元素的元数据)扩展 XML 实例,同时保持它对提供的模式有效。

真正的用例是我有自己的控件,它通过 XML 获取其数据,我想生成一个新的 XML,以某种方式保留与控件序列化相关的其他元数据。

我的几个解决方案是保留另一个文档,其中包含我在加载 XML 后的第二遍中加载的“XPath、Mode、Color”列表。

另一种解决方案是将 id 添加到 XML 节点,并以这种方式引用另一个文档中的节点(而不是使用 XPath)。

另一个想法是以某种方式将属性(在我的每个元素的命名空间中)添加到数据 XML 实例,但问题是我稍后在尝试再次加载它时可能无法使用新属性验证 XML。(因为我添加到 XML 的属性没有在他的架构中定义)

你对这个问题有更好的解决方案吗?您会投票支持哪些解决方案?(请解释。)

谢谢!

0 投票
4 回答
6149 浏览

c# - 深度 xml 序列化结构选项

我有如下所示的类和结构。如果我像使用 xmlserializer 一样序列化类,我会得到:

<Test>
<TestNumber1>5</TestNumber1>
<InnerTest/>
</Test>

使 InnerTest 正确序列化(最好使用 xmlserializer)而不给 Number 属性设置器的最简单方法是什么?

谢谢,尼克

0 投票
1 回答
1335 浏览

c# - 一个列表中多个对象类型的 XmlSerialization

我有一个包含抽象“aninamls”列表的对象。IE

使用xmlserializer,是否可以将上面的序列化为以下xml,

目前,我只能得到以下内容:

0 投票
1 回答
3243 浏览

web-services - Web 服务响应中的空字符导致 XML 文档错误

SQL Server Integration Services 2005 中似乎存在一个错误,在某些情况下,它将零长度字符串转换为单个字符串,其字符恰好是 ansi null,即。ascii 字符零(请注意,这与 sql null 非常不同)。

这发生在我们的一个数据加载过程中,因此应该为空的地址行将这些字符放入其中。

我们通过 Web 服务公开这些数据,并且数据可以序列化。当通过 IE 查看 Web 服务响应时,标准 XSL 甚至会去除空值,但是当您查看源代码时,您可以看到它们:

但是,当您从 .Net 生成的代理调用此服务时,您会收到错误消息:

这可能是因为 null 终止了文档并因此使其无效。

虽然我们可以尽最大努力防止这些值进入数据库,但是当这些值在响应中时,有什么方法可以防止代理代码出错?我们真的不想在我们所有的网络方法中添加代码来检测和删除这些。

0 投票
2 回答
14070 浏览

.net - 如何反序列化带有前缀命名空间但没有 ns 前缀元素的 XML 文档?

我有一个来自外部来源的 XML 文档。

我需要将它反序列化为这样的对象。

按原样使用,Serializer抛出一个InvalidOperationException

<Info xmlns='http://www.ZomboCorp.com/'>没想到。

如果我添加[XmlElement(Namespace = "http://www.ZomboCorp.com/")]到类定义中,则Serializer返回一个Info具有空属性的新对象。

0 投票
2 回答
2223 浏览

.net - XmlSerializer 和 InternalsVisibleTo 属性

是否可以XmlSerializer通过使用InternalsVisibleTo属性来序列化内部类成员?

如果是,我应该让我的内部组件对哪个组件可见。换句话说,我应该为InternalsVisibleTo属性提供什么程序集名称和公钥。

0 投票
2 回答
230 浏览

c# - XmlSerializer - 具有不同属性的相同元素

我有 xml 包含:

为了使用 XmlSerializer 反序列化 xml,我需要向 Day 类添加哪些属性?