我正在使用由使用XML与设备进行通信的第三方提供的库。根标签有2个属性必须存在。文档中的所有示例都显示了以特定顺序出现的这两个属性。任何方式来控制.NET XmlSerializer输出属性的顺序?
我已经创建了类,用于.NET XmlSerializer类,该类包含用相应的XmlAttribute属性标记的属性。对于我的类,XmlSerializer的输出具有与文档中所有示例相反顺序的这两个属性。
如果我将我的代码生成的XML传递给库,我得到一个错误返回值。然而,仅仅为了踢腿,我修改了XML &颠倒了属性的顺序。 Lo &看,我得到了一个OK返回值。文档说库是用Ansi C编写的,所以我很确定他们没有使用.NET XmlSerializer。
我知道XML标准说的是attribtues的顺序并不重要。我已经通知他们他们的代码违反了标准,并且希望他们能够修复它。但在此期间,我不得不在这个项目上取得进展。有什么办法可以让XmlSerializer以相反的顺序输出属性吗?或者我将不得不自己生成XML(一个巨大的痛苦)?
至少我可以解析Xml返回给我的XmlSerializer类&它属性对我的代码的顺序无关紧要。
感谢
托尼
我相信你是对的。但是,由于图书馆将被修复,我实施了临时修复。请参阅下面的答案 – 2012-02-29 21:36:12