Je mon code LINQ formaté comme:Comment ajouter un autre nœud de niveau supérieur
<Deck>
<Treasure>
<card>
.....
</card>
......
</treasure>
<Door>
<card>
.....
</card>
......
</Door>
Dans le code suivant comment puis-je ajouter une autre porte qui est le même « niveau » comme trésor? Tout ce que j'ai essayé continue de l'ajouter au même niveau que la carte. Voici ce que j'ai:
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);
}
Votre 'root' est l'élément' Treasure'. Donc 'root.Add' va ajouter l'élément en tant qu'enfant de' Treasure'. Vous avez besoin de 'root' pour être l'élément' Deck'. –