我整天都在为此苦苦挣扎。我做了很多研究,但我似乎无法将它们放在一起。
我有来自服务器的 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 元素?我只想让根说(用一个小“我”)。其次,为了快速测试,我只在第一个字段中输入了一个值。为什么其他字段没有作为空元素出现?我需要另一个装饰器吗?
谢谢!谢谢!