xml序列化不同对象的两个列表
本文关键字:两个 列表 序列化 对象 xml | 更新日期: 2023-09-27 17:55:34
我需要帮助来序列化两个列表并将它们写入 xml 文件中。我尝试的代码是
XmlSerializer xs = new XmlSerializer(typeof(List<OtherAction>));
XmlSerializer xsActions = new XmlSerializer(typeof(List<Action>));
using (StreamWriter sw = new StreamWriter("actions.xml"))
{
xs.Serialize(sw, listOtherActions);
xsActions.Serialize(sw, listActions);
}
但它会先写 listOtherActions,然后是 listActions。所以它在 xml 文件上创建 2 个根我想做的是只有一个根节点和我的两个列表。
为什么不创建一个具有两种 List 类型的类并序列化该类。 如下所示。
public class Combined
{
public List<OtherAction> otherActions{get; set;}
public List<Action> actions{get; set;}
}
XmlSerializer xs = new XmlSerializer(typeof(List<Combined>));
using (StreamWriter sw = new StreamWriter("CombinedActions.xml"))
{
xs.Serialize(sw, listCombinedActions);
}