繁体   English   中英

我需要从xml文件加载项目数组,但顶层不读取列出的项目

[英]I need load load the array of items from an xml file but the top level does not read listed items

我正在尝试使用System.Xml.Serialization读取以下结构中的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<rootname xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <AListItem>
    <someDataItem>1</someDataItem>
    <anotherItem>2</anotherItem>
  </AListItem>
  <AListItem>
    <someDataItem>3</someDataItem>
    <anotherItem>4</anotherItem>
  </AListItem>
  <Name>a string</Name>
</rootname>

我的课程结构:

public class rootname
{
    public rootname() { }

    [XmlElement("AListItem")]
    List<AListItem> DataList { get; set; }

    public string Name { get; set; }
}

public class AListItem
{
    public AListItem() {}

    public string someDataItem { get; set; }
    public string anotherItem { get; set; }
}

反序列化:

using (System.IO.FileStream stream = new FileStream(openFile.FileName, FileMode.Open, FileAccess.Read))
{
    System.Xml.Serialization.XmlSerializer xml = new System.Xml.Serialization.XmlSerializer(typeof(rootname));
    rootname deserializedObject = xml.Deserialize(stream) as rootname;
}

已加载“名称”属性,但DataList为空。 应该如何加载AListItem项目? XmlElement属性正确吗?

谢谢托尼,我才意识到问题所在。 我忘了公开名单!

public class rootname
{
    public rootname() { }

    [XmlElement("AListItem")]
    public List<AListItem> DataList { get; set; } // <<< public!

    public string Name { get; set; }
}

哎呀

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM