首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反序列化相对路径XML

反序列化相对路径XML
EN

Stack Overflow用户
提问于 2019-02-26 12:51:10
回答 1查看 162关注 0票数 1

在C#中,我想反序列化一些相对位置重要的Xml。以下Xml来自名为Onix的图书标准:

代码语言:javascript
复制
<Stock>
  <OnHand>1</OnHand>
  <Proximity>xx</Proximity>
  <Reserved>2</Reserved>
  <Proximity>yy</Proximity>
  <OnOrder>3</OnOrder>
  <Proximity>zz</Proximity>
  <Cbo>4</Cbo>
  <Proximity>zz</Proximity>
</Stock>

正如你所看到的,每2行都被称为“接近”。这些字段与上面的字段相匹配。

如果所有字段都是强制性的,那么就没有问题,代码如下所示:

代码语言:javascript
复制
[XmlElement("OnHand", Order = 0)]public int OnHand { get; set; }
[XmlElement("Proximity", Order = 1)] public string OnHandProximity { get; set; }

[XmlElement("Reserved", Order = 2)] public int Reserved { get; set; }
[XmlElement("Proximity", Order = 3)] public string ReservedProximity { get; set; }

[XmlElement("OnOrder", Order = 4)] public int OnOrder { get; set; }
[XmlElement("Proximity", Order = 5)] public string OnOrderProximity { get; set; }

[XmlElement("CBO", Order = 6)] public int Cbo { get; set; }
[XmlElement("Proximity", Order = 7)] public string CboProximity { get; set; }

但这4个近邻字段与之前的字段紧密绑定,并且每个字段都不是强制的。例如,在缺少前2行的情况下,可以获得xml。

是否有针对这类问题的任何属性?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-26 14:04:45

你带着订单属性去了。

ints标记为int?,将所有字段标记为Nullable:

代码语言:javascript
复制
    [XmlElement("OnHand", Order = 0, IsNullable = true)]
    public int? OnHand { get; set; }

    [XmlElement("Proximity", Order = 1, IsNullable = true)]
    public string OnHandProximity { get; set; }

XmlSerializer应该能够处理这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54885976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档