linqToSql + linqToXMl - резервная таблица в файле xml - PullRequest
0 голосов
/ 23 апреля 2011

Моя проблема в том, что у меня есть список 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); 

но это не работает.

Ответы [ 3 ]

1 голос
/ 23 апреля 2011

В вашем случае:

        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 голос
/ 23 апреля 2011

Добавьте свой список 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");
0 голосов
/ 23 апреля 2011

Вы добавили элементы в документ.Чтобы сохранить этот документ в файл, вам нужно вызвать метод Save документа:

xml.Save

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...