c# – xsd.exe属性顺序

我的目标是将c#类序列化为 XML,其属性顺序类似于我的类中的属性顺序.对于这个purporse,我需要在我的类中的其他属性之前添加System.Xml.Serialization.XmlElementAttribute(Order = int).

[System.Xml.Serialization.XmlElementAttribute("F4INVAL",Form=System.Xml.Schema.XmlSchemaForm.Unqualified,Order=1)]
    public F4invalType[] F4INVAL {
        get {
            return this.f4INVALField;
        }
        set {
            this.f4INVALField = value;
        }
    }

我有XSD文件(f4form_2012_3.xsd).

使用Xsd.exe(http://msdn.microsoft.com/en-en/library/x6c1kb0s.aspx)我执行此scriptlet来生成一组C#类:

xsd f4form_2012_3.xsd /order /classes

我需要使用C#属性[System.Xml.Serialization.XmlElementAttribute(Order = 1)]获取属性.我这样做,但是第一类’属性有这个属性.

第二个和下面的类没有它.

请检查f4form_2012_3.cs

这是什么意思?

解决方法

这是因为您的F4ReportType复杂类型是XSD中使用xsd:sequence元素的唯一类型.您不能对从XML属性生成属性进行排序,因为属性不是按XML排序的.也许您想要使用XML元素.

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...