我正在将给定的 XML 文件反序列化为一个对象,我工作得很好。但是,我现在要调整 XML 文件,以便我有额外的属性,这些属性应该被反序列化为一个单独的对象,所以从一个给定的 xml 文件中我可以填充两个对象,这可能在一个操作中实现吗?
这是我当前的代码和 XML:
XML 现在的样子:
<NameCollection>
<Names>
<Name>
<description></description>
<Name>
<Name>
<description></description>
<Name>
</Names>
</NameCollection>
XML 如我所愿:
<NameCollection>
<GenericName></GenericName>
<GenericDescription></GenericDescription>
<Names>
<Name>
<description></description>
<Name>
<Name>
<description></description>
<Name>
</Names>
</NameCollection>
代码:
NameCollection commands;
XMLSerializer serializer = new XMLSerializer(typeof(NameCollection));
StreamReader streamReader = new StreamReader(xmlpath);
commands = (NameCollection)serializer.Derserialize(streamreader);
streamReader.Close();
和当前对象:
[Serializable()]
public class TestCommand
{
public string description{get;set;}
}
[Serializable()]
[XmlRoot("NameCollection")]
public class NameCollection
{
[XmlArray("Commands")]
[XmlArrayItem("Command", typeof(TestCommand))]
public TestCommand[] TestCommand {get;set;}
}
然后我希望将 GenericName 和 GenericDescription 属性添加到另一个单独的对象,这就是我坚持的。