问题标签 [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.
c# - XmlSerializer、sgen.exe 和泛型
我有一个通用类型:
我想从/到 XML 反序列化/序列化这种类型的实例。IContent
是这样定义的:
基本上,我希望Packet
使用其内容提供的序列化程序来序列化和反序列化其内容成员。这个序列化器实际上是一个由 sgen.exe 生成的预编译 xml 序列化器的实例。
是否有可能不Packet<T>
实施IXmlSerializable
?
.net - XML 反序列化 - 自动将属性值转换为类 (.net)
(vb.net/c#/等)
我无法弄清楚如何做一些反序列化魔术。目前标准反序列化工作正常,包括枚举,但现在我想将属性转换为类。哦!我在想什么!
我的 xml 看起来有点像这样:
这适用于我的财产/班级:
我怎样才能帮助序列化程序,以便它可以自动将我的字符串属性反序列化到这个类中?我是否需要以某种方式修改 MyVersion 类,或更改属性的定义?
- 我不想重写任何方法,如 OnDeserialized 等。这对这个项目来说是不值得的。
如果这不能用默认的 xml 反序列化器完成,那么知道就足够了。它有很多不好的地方,所以我不会感到惊讶。
谢谢!
c# - 使用具有私有和公共 const 属性的 XmlSerializer
让 XmlSerializer 也序列化类或结构的私有和“公共 const”属性的最简单方法是什么?对我来说,并非所有输出都是公开的。将其设为私有或添加 const 会导致值不被序列化。
xml - 如何将外部数据添加到 XML?
我有一个 XML 模式和一个对该模式有效的 XML 实例。
此 XML 实例包含一些数据。
我想用更多数据(我自己的 XML 实例中每个 XML 元素的元数据)扩展 XML 实例,同时保持它对提供的模式有效。
真正的用例是我有自己的控件,它通过 XML 获取其数据,我想生成一个新的 XML,以某种方式保留与控件序列化相关的其他元数据。
我的几个解决方案是保留另一个文档,其中包含我在加载 XML 后的第二遍中加载的“XPath、Mode、Color”列表。
另一种解决方案是将 id 添加到 XML 节点,并以这种方式引用另一个文档中的节点(而不是使用 XPath)。
另一个想法是以某种方式将属性(在我的每个元素的命名空间中)添加到数据 XML 实例,但问题是我稍后在尝试再次加载它时可能无法使用新属性验证 XML。(因为我添加到 XML 的属性没有在他的架构中定义)
你对这个问题有更好的解决方案吗?您会投票支持哪些解决方案?(请解释。)
谢谢!
c# - 深度 xml 序列化结构选项
我有如下所示的类和结构。如果我像使用 xmlserializer 一样序列化类,我会得到:
<Test>
<TestNumber1>5</TestNumber1>
<InnerTest/>
</Test>
使 InnerTest 正确序列化(最好使用 xmlserializer)而不给 Number 属性设置器的最简单方法是什么?
谢谢,尼克
c# - 一个列表中多个对象类型的 XmlSerialization
我有一个包含抽象“aninamls”列表的对象。IE
使用xmlserializer,是否可以将上面的序列化为以下xml,
目前,我只能得到以下内容:
web-services - Web 服务响应中的空字符导致 XML 文档错误
SQL Server Integration Services 2005 中似乎存在一个错误,在某些情况下,它将零长度字符串转换为单个字符串,其字符恰好是 ansi null,即。ascii 字符零(请注意,这与 sql null 非常不同)。
这发生在我们的一个数据加载过程中,因此应该为空的地址行将这些字符放入其中。
我们通过 Web 服务公开这些数据,并且数据可以序列化。当通过 IE 查看 Web 服务响应时,标准 XSL 甚至会去除空值,但是当您查看源代码时,您可以看到它们:
但是,当您从 .Net 生成的代理调用此服务时,您会收到错误消息:
这可能是因为 null 终止了文档并因此使其无效。
虽然我们可以尽最大努力防止这些值进入数据库,但是当这些值在响应中时,有什么方法可以防止代理代码出错?我们真的不想在我们所有的网络方法中添加代码来检测和删除这些。
.net - 如何反序列化带有前缀命名空间但没有 ns 前缀元素的 XML 文档?
我有一个来自外部来源的 XML 文档。
我需要将它反序列化为这样的对象。
按原样使用,Serializer
抛出一个InvalidOperationException
<Info xmlns='http://www.ZomboCorp.com/'>
没想到。
如果我添加[XmlElement(Namespace = "http://www.ZomboCorp.com/")]
到类定义中,则Serializer
返回一个Info
具有空属性的新对象。
.net - XmlSerializer 和 InternalsVisibleTo 属性
是否可以XmlSerializer
通过使用InternalsVisibleTo
属性来序列化内部类成员?
如果是,我应该让我的内部组件对哪个组件可见。换句话说,我应该为InternalsVisibleTo
属性提供什么程序集名称和公钥。
c# - XmlSerializer - 具有不同属性的相同元素
我有 xml 包含:
为了使用 XmlSerializer 反序列化 xml,我需要向 Day 类添加哪些属性?