我正在实施一个程序,作为一些现有软件的客户端.该协议使用
XML模式定义,它包括多维数组.
.net XmlSerializer无法处理 – 这是一个已知问题.
有没有办法扩展XmlSerializer所以我可以为此实现处理,或者是否有可以处理多维数组的XmlSerializer的完整(免费或商业)替代品?
SharpSerializer
似乎没有创建模式定义的XML,而是使用它自己的序列化格式.
解决方法
如果您可以控制更改架构,则可以尝试使用锯齿状数组而不是多维数组.
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 */ } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。