我整天都在为此苦苦挣扎。我做了很多研究,但我似乎无法将它们放在一起。
我有来自服务器的 XML 响应,如下所示:
<?xml version="1.0" ?>
<inboxRecords>
    <inboxRecord>
        <field1 />
        <field2 />
        <field3 />
    </inboxRecord>
    <inboxRecord>
        <field1 />
        <field2 />
        <field3 />
    </inboxRecord>
</inboxRecords>
我创建了以下代码来表示响应。目的是我将使用以下内容对响应进行反序列化:
[XmlRoot("inboxRecords")]
public sealed class QueueQueryResult
{
    public InboxRecord[] InboxRecords;
    public QueueQueryResult()
    {
        InboxRecords = null;
    }
    public sealed class InboxRecord
    {
        public string field1 { get; set; }
        public string field2 { get; set; }
        public string field3 { get; set; }
    }
}
上面的课程基于我在网上找到的众多示例之一。问题是,当我序列化上面的类(以确认它是正确的)时,它是这样的:
<?xml version="1.0" encoding="utf-16"?>
<inboxRecords>
  <InboxRecords>
    <InboxRecord>
      <field1>some value</field1>
    </InboxRecord>
    <InboxRecord>
      <field1>some value</field1>
    </InboxRecord>
  </InboxRecords>
</inboxRecords>
那么,第一个问题,我如何摆脱多余的 InboxRecords 元素?我只想让根说(用一个小“我”)。其次,为了快速测试,我只在第一个字段中输入了一个值。为什么其他字段没有作为空元素出现?我需要另一个装饰器吗?
谢谢!谢谢!