c# – .net XmlSerializer和多维数组
发布时间:2020-12-15 22:15:36 所属栏目:百科 来源:网络整理
导读:我正在实施一个程序,作为一些现有软件的客户端.该协议使用 XML模式定义,它包括多维数组. .net XmlSerializer无法处理 – 这是一个已知问题. 有没有办法扩展XmlSerializer所以我可以为此实现处理,或者是否有可以处理多维数组的XmlSerializer的完整(免费或商业
我正在实施一个程序,作为一些现有软件的客户端.该协议使用
XML模式定义,它包括多维数组.
.net XmlSerializer无法处理 – 这是一个已知问题. 有没有办法扩展XmlSerializer所以我可以为此实现处理,或者是否有可以处理多维数组的XmlSerializer的完整(免费或商业)替代品?
我想我可以使用sgen.exe生成序列化程序代码,然后手动编辑然后添加必要的处理,但我想避免这种情况. 解决方法
如果您可以控制更改架构,则可以尝试使用锯齿状数组而不是多维数组.
string [] []而不是string [,] 或使用类似List< List< T>>的内容 您可以创建自己的自定义类来展平多维数组. 或者,在您的类上使用XmlIgnore,将多维数组展平为标准数组(如建议的here by Marc Gravell) [XmlIgnore] public int[,] Data { get; set; } [XmlElement("Data"),Browsable(false)] [EditorBrowsable(EditorBrowsableState.Never)] public int[] DataDto { get { /* flatten from Data */ } set { /* expand into Data */ } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |