1
我已經格式化像我的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);
}
你的'root'是'Treasure'元素。所以'root.Add'將把元素添加爲'Treasure'的子元素。你需要'root'作爲'Deck'元素。 – 2011-03-12 23:03:33