我正在创建一个 API 包装器,它获取 API 响应并将其转换为 POCO 对象。现在我有一个遵循以下操作序列的测试:
- 使用 XML 元素名称和值创建对象。
- 将此对象序列化为 XML 格式。
- 通过我的转换器将 XML 树转换回实际对象。
- 断言我的新对象中的值是否符合预期。
我有以下表示显示对象的帮助程序类:
class TestShow {
public string id { get; set; }
public string IMDB_ID { get; set; }
public string Language { get; set; }
}
序列化器:
var serializer = new XmlSerializer(show.GetType());
string xml;
using (var writer = new StringWriter()) {
serializer.Serialize(writer, show);
xml = writer.ToString();
}
但是,当我将其序列化为 XML 时,我得到以下结果:
<?xml version="1.0" encoding="utf-16"?>
<TestShow xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<id>76290</id>
<IMDB_ID>tt0285331</IMDB_ID>
<Language>en</Language>
</TestShow>
期望的结果是这样的:
<Data>
<Series>
<id>76290</id>
<IMDB_ID>tt0285331</IMDB_ID>
<Language>en</Language>
</Series>
</Data>
这说明了两个问题:
- 的名称
TestShow
应更改为Series
。有没有简单的方法可以做到这一点,或者我应该改变我的班级名称? - 有一个名为 的上层集合
Data
。我将如何添加这个?