我的问题是我有XElements列表,老实说我不知道我该怎么做才能将它保存到文件中。
我的方法:
XDocument xml = new XDocument();
List<XElement> list = new List<XElement>();
foreach (Visit v in BlogDB.Visits)
{
list.Add(new XElement("Visit",
new XElement("id", v.id),
new XElement("SessionID", v.SessionID),
new XElement("StartDate", v.StartDate),
new XElement("Date", v.Date),
new XElement("IPAddress", v.IPAddress),
new XElement("WhereIsHe", v.WhereIsHe),
new XElement("WhoIs", v.WhoIs)));
}
现在怎么样?如何将此列表添加到xml文件? 我试过了:
xml.Add(from el in list select (XElement)el);
但它不起作用。
答案 0 :(得分:1)
在你的情况下:
List<XElement> list = new List<XElement>() { new XElement("first"), new XElement("Second") };
XElement root = new XElement("root", list);
XDocument doc = new XDocument();
doc.Add(root); // add it later to prevent the error mentioned below.
doc.Save(Console.Out); // put in here the file name or Console.Out to see the contents directly in your window.
要创建有效的Xml文档,您需要将根节点添加到Xml文档中。
答案 1 :(得分:1)
将XElements列表添加到Xdocument,然后在文档上调用Save()。
也许是这样的。
XDocument xml = new XDocument(
BlogDB.Visits.Select(v=>new XElement("Visit",
new XElement("id", v.id),
new XElement("SessionID", v.SessionID),
new XElement("StartDate", v.StartDate),
new XElement("Date", v.Date),
new XElement("IPAddress", v.IPAddress),
new XElement("WhereIsHe", v.WhereIsHe),
new XElement("WhoIs", v.WhoIs))));
xml.Save("filename.xml");
答案 2 :(得分:0)
您已在文档中添加了元素。要将此文档保存到文件,您需要调用文档的Save方法:
xml.Save