2017-10-02 7 views
0

Je suis en train de désérialiser mon objet ExtendedData<ExtendedData xmlns = « »> n'a pas été prévu

<ExtendedData xmlns:SMseeder="http://seedmaster.ca/"><Static><SMseeder:FanSpeed>200</SMseeder:FanSpeed></Static><Dynamic><SMseeder:Bin1SeedRate>100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100</SMseeder:Bin1SeedRate><SMseeder:Bin2SeedRate>200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200</SMseeder:Bin2SeedRate><SMseeder:Bin3SeedRate>300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300 300</SMseeder:Bin3SeedRate><SMseeder:Bin4SeedRate>400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400</SMseeder:Bin4SeedRate><SMseeder:OpenersPackingPressure>500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500</SMseeder:OpenersPackingPressure></Dynamic></ExtendedData> 

Mais j'ai eu l'erreur n'a pas été prévu après la recherche que je suis arrivé ma classe a un peu changé, mais toujours même problème

[XmlType(Namespace = "http://seedmaster.ca/", TypeName = "SMseeder")] 
[XmlRoot(ElementName = "ExtendedData", Namespace = "http://seedmaster.ca/", IsNullable = false)] 
public class ExtendedData 
{ 
    [XmlElement("Static")] 
    public ParamConfig StaticData { get; set; } 
    [XmlElement("Dynamic")] 
    public SeedPlanWayPoint PlanWayPoint { get; set; } 
} 

[XmlRoot("Static")] 
public class ParamConfig : Seeder.Common.IParamConfig 
{ 
    #region Variables 
    private ILog _logger; 

    [XmlElement("SMseeder:FanSpeed")] 
    UInt16 _auto_fan1_rpm;    

}

[XmlRoot("Dynamic")] 
public class SeedPlanWayPoint 
{ 
    [XmlElement("SMseeder:Bin1SeedRate")] 
    public float Bin1SeedRate { get; set; } 
    [XmlElement("SMseeder:Bin2SeedRate")] 
    public float Bin2SeedRate { get; set; } 
    [XmlElement("SMseeder:Bin3SeedRate")] 
    public float Bin3SeedRate { get; set; } 
    [XmlElement("SMseeder:Bin4SeedRate")] 
    public float Bin4SeedRate { get; set; } 

    [XmlElement("SMseeder:OpenersPackingPressure")] 
    public float OpenersPackingPressure { get; set; } 

    public SeedPlanWayPoint() { } 
} 
+0

Vous ne placez pas l'espace de noms dans [XmlElement]. Vous ajoutez à la [XmlRoot] – jdweng

+0

comment la syntaxe devrait ressembler? –

Répondre

1

Les espaces de noms doivent être déclarés comme celui-ci

[XmlRoot(ElementName = "Dynamic", Namespace = "http://seedmaster.ca/")] 
    public class SeedPlanWayPoint 
    { 
     [XmlElement("Bin1SeedRate")] 
     public float Bin1SeedRate { get; set; } 
     [XmlElement("Bin2SeedRate")] 
     public float Bin2SeedRate { get; set; } 
     [XmlElement("Bin3SeedRate")] 
     public float Bin3SeedRate { get; set; } 
     [XmlElement("Bin4SeedRate")] 
     public float Bin4SeedRate { get; set; } 

     [XmlElement("OpenersPackingPressure")] 
     public float OpenersPackingPressure { get; set; } 

     public SeedPlanWayPoint() { } 
    }