我需要帮助来序列化两个列表并将它们写入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个root 我想要做的是只有一个根节点和我的两个列表。
答案 0 :(得分:1)
为什么不创建一个既包含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);
}