【问题标题】:XML Deserialization on windows phonewindows phone 上的 XML 反序列化
【发布时间】:2012-07-27 07:56:23
【问题描述】:

我正在尝试根据Handling XML files on Windows Phone反序列化 windows phone 上的 XML 文件

XML 文件与此类似

<positions>  
<POS LAT=12312312 LON=23113123\>
</positions>

在我使用的 C# 中,

[XMLRoot("positions")]
public class Positions    
{
[XmlArray] //These two lines seem to be where the problem is...
[XmlArrayItem("POS")]
public ObservableCollection<POS> Collection {get;set;}
}

类 POS.cs 看起来像

public class POS.cs
{
[XMLAttribute("LAT")]
public string LAT{get;set;}

[XmlArray("FOO")] 和 [XmlArrayItem("BAR")] 应该是什么样的? 这里有些东西不能正常工作...... 感谢您的帮助!

【问题讨论】:

    标签: c#


    【解决方案1】:

    XmlArray/XmlArrayItem 用于您想要两层层次结构的地方;在您的情况下,POSpositions 的直接子代,因此XmlElement 是正确的布局:

    [XmlRoot("positions")]
    public class Positions    
    {
        [XmlElement("POS")]
        public ObservableCollection<POS> Collection {get;set;}
    }
    

    【讨论】:

    • +1,只需修复 [XMLRoot("positions")] 应该是 [XmlRoot("positions")][Element("POS")] 应该是 [XmlElement("POS")]
    • @Darin 很公平;第一个是从问题中复制/粘贴;第二个是我自己的粗心
    猜你喜欢
    • 1970-01-01
    • 2014-09-08
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多