Как добавить еще один узел верхнего уровня - PullRequest
1 голос
/ 13 марта 2011

У меня есть код linq, отформатированный как:

<Deck>
   <Treasure>
     <card>
     .....
     </card>
     ......
   </treasure>
   <Door>
     <card>
     .....
     </card>
     ......
   </Door>

В следующем коде, как мне добавить еще одну Дверь такого же "уровня", что и сокровище?Все, что я пробовал, продолжает добавлять его на том же уровне, что и карта.Вот что у меня есть:

   public void SaveXml(string path)
    {
        XElement xml;
        XElement root = new XElement("Treasure");
        foreach (var item in TreasureCards)
        {
            xml = new XElement("Card",
                    new XAttribute("name", item.Name),
                    new XElement("Type", item.Type),
                    new XElement("Image",
                    new XAttribute("path", item.Image)),
                    new XElement("Usage", item.Usage),
                    new XElement("Quantity", item.Quantity),
                    new XElement("Sell", item.Sell)
                    );
            root.Add(xml);
        }
        root.Add(new XElement("Door"));
        foreach (var item in DoorCards)
        {
            xml = new XElement("Card",
                  new XAttribute("name", item.Name),
                  new XElement("Type", item.Type),
                  new XElement("Image",
                  new XAttribute("path", item.Image)),
                  new XElement("Usage", item.Usage),
                  new XElement("Quantity", item.Quantity));
            root.Add(xml);
        }

1 Ответ

1 голос
/ 13 марта 2011

Сначала необходимо создать элемент Deck:

XElement deck = new XElement("Deck");

Затем добавьте и сокровище (которое я взял на себя смелость переименовать из корня в сокровище) и дверь к нему:

XElement treasure = new XElement("Treasure")
...
deck.Add(treasure)
...
XElement door = new XElement("Door")
...
deck.Add(door)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...