问题标签 [ixmlserializable]
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# - 注释 IXmlSerializable
我创建了一个类型,它实现了 IXmlSerializable 并使用 XmlSchemaProviderAttribute 来定义其架构,以便在 WCF 服务中使用。据我所知,所有这些都根据“最佳实践”/MSDN。
长话短说,出于各种原因(不能使用 DataContract),我必须使用 IXmlSerializable,并且我希望通过使用 xs:annotation 和 xs:documentation 在 XSD 模式中记录我的类型。似乎除了类型本身之外的所有内容都可以进行注释,以某种方式从模式中剥离了类型注释。
谁能解释为什么,我的代码有什么问题或可行的解决方案?
使用下面的类作为操作的参数/返回值,或作为 DataContract 的一部分,正确地将 ComplexType 添加到模式中,除了类型注释之外的所有内容。
具体来说,这一行没有任何效果(尽管在 return 语句中有一个断点,但我可以验证注解确实存在,看起来是正确的):
完整样本:
c# - 如何使用 XML 可序列化命名空间前缀?
这是 XML
这是模型
如何在模型中添加 NS1 命名空间前缀?请给我提意见。非常感谢。
.net - XmlReader - 只读取“子 xpath 轴”
您好,我的 xml 具有相同的嵌套元素。它是递归的(快乐!)
像这样:
一旦XmlReader
定位在 上MyRoot
,我怎么能只循环通过MyRoot
(在这种情况下,<Record Name="Header" >
和<Record Name="Body" MaxOccurs="0">
)的直接子级。我正在以递归方式将这些节点的 xml 读取委托给另一个类。
在考虑重复的问题之前,请确保 OP 没有询问孙子或其他一些节点集,除了 xpath 的 xpath 轴children
。我找不到这个问题的完全匹配,而且XmlReader
似乎一直想先深入。
我想做的是交出XmlReader
并让正在使用子 xml 的子对象将它交还给我,指向它需要获取下一个孩子的位置。那会很甜蜜。
asp.net-web-api2 - 为什么我的对象不会序列化?
我有一堂课。它实现了 IXmlSerializable。我无法让 Web API 2 对其进行序列化。
这是我的课:
这是回应:
我试过了[DataContract]
。这改变了“类型'MyNamespace.MyType'不能是 IXmlSerializable 并且具有 DataContractAttribute 属性。” 我尝试使用[XmlSchemaProvider("Method", IsAny = true)]
,Method
返回 null,这又给了我原来的错误。DataContractSerializer
应该能够序列化IXmlSerializables
. 是什么赋予了?
PS:WriteXml 根本没有被调用。
wcf - 在 WCF Rest 端点中处理自定义数据合同序列化
我想使用 XML 属性而不是 xmlrequest 和 xmlresponse 中的元素,我实现了 IXmlSerializable 如下:
但我的服务帮助显示请求和响应为未知
我什至尝试了 XmlSerializerFormat
然后我将 xml 中的所有内容作为 xmlElements 而不是 XmlAttributes 但我将所有数据作为元素而不是 Xmlattributes 获取。
c# - XmlReader ReadString() 从 "\r\n" 中删除 '\r'
我有一个继承自IXmlSerializable
. 我已经正确地覆盖了ReadXml
andWriteXml
方法。
我正在使用XmlSerializer
将对象序列化/反序列化为 xml 文件。
当我Serialize
对象时,它正在正确地写入\r\n
文件。但是当我Deserialize
以同样的方式处理对象时,\r
已被删除,只有\n
存在。我无法弄清楚它为什么这样做。
c# - 具有自定义架构和 IXmlSerializable 的 Xml 序列化
我正在尝试使用IXmlSerializable
和XmlSchemaProviderAttribute
.
架构如下所示:
获取架构的代码如下所示(如在此处找到):
现在,当我尝试使用序列化对象时XmlSerializer
出现异常:{“PlanerModel.BuildingsStatistics.BuildingsSchema() 必须返回有效的类型名称。在 targetNamespace='BuildingModelSchema' 中找不到类型'buildings'。”}
编辑:
在尝试反序列化一个有效的测试文档后,我得到了同样的错误信息。我预计 xml 架构有问题,但由于这是我第一次使用 xml 架构,我似乎没有发现错误。
进一步的测试表明,在初始化时引发了异常XmlSerializer
:
此外,XmlSchema
该BuildingsSchema
方法中添加的内容不包含任何元素(在我的情况下,0 个元素和 14 个全部为“空”的项目(没有行号、位置等))。
c# - 如何为 SomeClass 实现 ReadXml:IList其中 IFoo 的所有实例都是 IFoo变化的T
我有一个需要序列化/反序列化的类,我已经完成了一半 - 我有序列化功能,导致下面的 XML。但是,由于我IXmlSerializable
自己实现,我不确定 的实现ReadXml
应该是什么样子,因为它SomeGenericClass<T>
是使用基于属性的标记而不是显式实现进行序列化的 ifIXmlSerializable
我想将其序列化回以下实例:
列表将包含沿这些行的实例:
编辑:扩展了实现 - 按原样实现,它没有正确说明问题
核心问题是我希望能够序列化仅实现接口的项目,即使我只获取SomeGenericClassBase
实例。根据该方法中使用的ExpandToTyped
方法,我希望该类的使用者在其实现中保存足够的数据,从而允许根据需要将生成的类转换回其原始形式。所以,是的,保真度有所降低,但我可以接受它,以换取使用接口列表而不是基类列表的灵活性。
xmlserializer - IXmlSerializable 和根元素前缀
我到处看了看,没有一个回答是有效的,或者问题只是稍微偏离了一点,以至于没有让我得到我需要的答案。鉴于我所寻找的所有搜索,.Net 的 xml 序列化实现似乎存在一个巨大的缺陷。
默认:
输出:
IXmlSerializable:
输出:
为什么!
我们如何解决这个问题?
这一点很重要,因为如果没有自定义处理,我将被迫双步执行,并将序列化的 xml 处理为 XmlDocument 以修复此故障。是的,这一定是个小故障。除了根元素,我可以解决其他所有问题。
我不是唯一需要知道如何做到这一点的人。
感谢 Jaeden "Sifo Dyas" al'Raec Ruiner
c# - c# 使用 IXmlSerializable 反序列化
我有这样的xml:
我需要将它反序列化为类。但问题是,那一周将在未来发生变化(它将包含更多元素,我不知道它们的名称)
数据:
审计值:
星期:
但是在反序列化之后,我只有一个元素,在字典值中只记录了一个元素。我做错了什么?
GitHub: https ://github.com/olegletynain/XmlTest/tree/master/XmlTestRead