【问题标题】:<ExtendedData xmlns=''> was not expected<ExtendedData xmlns=''> 不是预期的
【发布时间】:2017-10-02 16:58:04
【问题描述】:

我正在尝试反序列化我的对象 ExtendedData

<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>

但是我得到了错误不是在搜索后我得到了我的班级改变了一点但仍然是同样的问题

 [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() { }
}

【问题讨论】:

  • 您没有将命名空间放在 [XmlElement] 中。您添加到 [XmlRoot]
  • 语法应该是什么样子?

标签: c# xml xml-deserialization


【解决方案1】:

命名空间应该这样声明

  [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() { }
    }

【讨论】:

    猜你喜欢
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多