Order in class to Serialize Object C #

0

I'm working on an NFe project, and I opted to use serialization of a class based on the xml structure I want. I implemented the class, everything worked as expected, root, nodes etc, however I'm having a problem, regarding ordering my elements in the output xml

This is my class that serializes:

public class nfeProc
    { 
        public infNFe infnfe;

    }

    public class infNFe
    {
        public ide ide;
        public emit emit;

    }

    public class ide
    {
        public string  cUF { get; set; }
        public string  cNF { get; set; }
        public string natOp { get; set; }
        public string indPag { get; set; }
        public string mod { get; set; }
        public string serie { get; set; }
        public string nNF { get; set; }
        public string dEmi { get; set; }
        public string tpNF { get; set; }
        public string cMunFG { get; set; }
        public string tpImp { get; set; }
        public string tpEmis { get; set; }
        public string cDV { get; set; }
        public string tpAmb { get; set; }
        public string finNFe { get; set; }
        public string procEmi { get; set; }
        public string verProc { get; set; }

    }


    public class emit
    {
               public string CNPJ { get; set; }
               public string xNome { get; set; }
               public string xFant { get; set; }
               public enderEmit enderEmit;
               public string IE { get; set; }
               public string CRT { get; set; }        

    }

    public class enderEmit{


               public string xLgr { get; set; }
               public string nro { get; set; }
               public string xCpl { get; set; }
               public string xBairro { get; set; }
               public string cMun { get; set; }
               public string xMun { get; set; }
               public string UF { get; set; }
               public string CEP { get; set; }
               public string cPais { get; set; }
               public string xPais { get; set; }
    }

This is my example output, without some elements just to exemplify:

    <nfeProc>
      <infnfe>
        <ide>
          <natOp>HUEHUEBR</natOp>
          <mod>HUEHUEBR</mod>
          <nNF>HUEHUEBR</nNF>
        </ide>
        <emit>
          <enderEmit>
            <CEP>04858480</CEP>
            <cPais>55</cPais>
          </enderEmit>
          <xNome>USHAUSHAUSHUA</xNome>
          <xFant>USHAUSHAUSHUA</xFant>
          <IE>USHAUSHAUSHUA</IE>
          <CRT>USHAUSHAUSHUA</CRT>
        </emit>
      </infnfe>
    </nfeProc>

And my problem is the order of the elements, I can not manipulate them The output I hope is this, where the enderEmit node goes below some elements determined by me. Example two ( xNome and xFant ):

<nfeProc>
  <infnfe>
    <ide>
      <natOp>HUEHUEBR</natOp>
      <mod>HUEHUEBR</mod>
      <nNF>HUEHUEBR</nNF>
    </ide>
    <emit>
    <xNome>USHAUSHAUSHUA</xNome>
      <xFant>USHAUSHAUSHUA</xFant>
     <enderEmit>
        <CEP>04858480</CEP>
        <cPais>55</cPais>
      </enderEmit> 
      <IE>USHAUSHAUSHUA</IE>
      <CRT>USHAUSHAUSHUA</CRT>
    </emit>
  </infnfe>
</nfeProc>
    
asked by anonymous 22.04.2015 / 22:52

1 answer

2

Declares all properties of the class with the [XmlElement(Order = 1)]

    
23.04.2015 / 10:07