i want to create a xml file with the data pushed by sql server and i want build the xml like this:
<Items Class="1" Grade="20" Score="150">
<Item ID="1" TemplateID="11233" StrengthLevel="0" AttackCompose="0" DefendCompose="0" LuckCompose="0" AgilityCompose="0" IsBind="true" ValidDate="0" Count="1" />
<Item ID="2" TemplateID="200216" StrengthLevel="0" AttackCompose="0" DefendCompose="0" LuckCompose="0" AgilityCompose="0" IsBind="true" ValidDate="0" Count="1" />
<Item ID="3" TemplateID="11408" StrengthLevel="0" AttackCompose="0" DefendCompose="0" LuckCompose="0" AgilityCompose="0" IsBind="true" ValidDate="0" Count="2" />
</Items>
And here's the most important part of my code to create it in c#:
Dictionary<int, Dictionary<int, DailyLeagueAwardList>> dictionary1 = new Dictionary<int, Dictionary<int, DailyLeagueAwardList>>();
DailyLeagueAwardList[] allDailyLeagueAwardList = produceBussiness.GetAllDailyLeagueAwardList();
DailyLeagueAwardItems[] allDailyLeagueAwardItems = produceBussiness.GetAllDailyLeagueAwardItems();
foreach (DailyLeagueAwardList DailyLeagueAwardList in allDailyLeagueAwardList)
{
DailyLeagueAwardList.AwardLists = new List<DailyLeagueAwardItems>();
if (!dictionary1.ContainsKey(DailyLeagueAwardList.Class))
dictionary1.Add(DailyLeagueAwardList.Class, new Dictionary<int, DailyLeagueAwardList>()
{
{
DailyLeagueAwardList.Grade,
DailyLeagueAwardList
}
});
else if (!dictionary1[DailyLeagueAwardList.Class].ContainsKey(DailyLeagueAwardList.Grade))
dictionary1[DailyLeagueAwardList.Class].Add(DailyLeagueAwardList.Grade, DailyLeagueAwardList);
}
foreach (DailyLeagueAwardItems DailyLeagueAwardItems in allDailyLeagueAwardItems)
{
if (dictionary1.ContainsKey(DailyLeagueAwardItems.ID) && dictionary1[DailyLeagueAwardItems.ID].ContainsKey(DailyLeagueAwardItems.Class))
dictionary1[DailyLeagueAwardItems.ID][DailyLeagueAwardItems.Class].AwardLists.Add(DailyLeagueAwardItems);
}
XElement xelement1 = (XElement) null;
foreach (Dictionary<int, DailyLeagueAwardList> dictionary2 in dictionary1.Values)
{
foreach (DailyLeagueAwardList DailyLeagueAwardList in dictionary2.Values)
{
if (xelement1 == null)
xelement1 = new XElement((XName) "Items", (object) new XAttribute((XName) "Class",
(object) DailyLeagueAwardList.Class), (object)new XAttribute((XName)"Grade",
(object)DailyLeagueAwardList.Grade),
(object)new XAttribute((XName)"Score",
(object)DailyLeagueAwardList.Score),
(object)new XAttribute((XName)"Rank",
(object)DailyLeagueAwardList.Rank));
foreach (DailyLeagueAwardItems awardList in DailyLeagueAwardList.AwardLists)
{
XElement xelement3 = new XElement((XName) "Item", new object[10]
{
(object) new XAttribute((XName) "ID", (object) awardList.ID),
(object) new XAttribute((XName) "TemplateID", (object) awardList.TemplateID),
(object) new XAttribute((XName) "StrengthLevel", (object) awardList.StrengthLevel),
(object) new XAttribute((XName) "AttackCompose", (object) awardList.AttackCompose),
(object) new XAttribute((XName) "DefendCompose", (object) awardList.DefendCompose),
(object) new XAttribute((XName) "LuckCompose", (object) awardList.LuckCompose),
(object) new XAttribute((XName) "AgilityCompose", (object) awardList.AgilityCompose),
(object) new XAttribute((XName) "IsBind", (object) awardList.IsBind),
(object) new XAttribute((XName) "ValidDate", (object) awardList.ValidDate),
(object) new XAttribute((XName) "Count", (object) awardList.Count)
});
xelement1.Add((object) xelement3);
}
//xelement1.Add((object) xelement3);
}
result.Add((object) xelement1);
xelement1 = (XElement) null;
}
I'm using XElement on C#, i think the problem is on ↓
foreach (DailyLeagueAwardItems DailyLeagueAwardItems in allDailyLeagueAwardItems)
{
if (dictionary1.ContainsKey(DailyLeagueAwardItems.ID) && dictionary1[DailyLeagueAwardItems.ID].ContainsKey(DailyLeagueAwardItems.Class))
dictionary1[DailyLeagueAwardItems.ID][DailyLeagueAwardItems.Class].AwardLists.Add(DailyLeagueAwardItems);
}
And above i think is the error, how i can fix it?
Thanks and sorry for the bad english!
*EDIT Is only returning this:
<Items Class="1" Grade="20" Score="150" Rank="0" />
<Items Class="2" Grade="20" Score="200" Rank="0" />
<Items Class="3" Grade="20" Score="250" Rank="0" />
<Items Class="4" Grade="20" Score="300" Rank="0" />
<Items Class="5" Grade="20" Score="400" Rank="0" />
<Items Class="6" Grade="20" Score="550" Rank="0" />
<Items Class="7" Grade="20" Score="700" Rank="0" />
<Items Class="8" Grade="20" Score="850" Rank="0" />
<Items Class="9" Grade="20" Score="900" Rank="0" />
<Items Class="10" Grade="30" Score="150" Rank="0" />
<Items Class="11" Grade="30" Score="200" Rank="0" />
<Items Class="12" Grade="30" Score="250" Rank="0" />
<Items Class="13" Grade="30" Score="300" Rank="0" />
<Items Class="14" Grade="30" Score="400" Rank="0" />
<Items Class="15" Grade="30" Score="550" Rank="0" />
<Items Class="16" Grade="30" Score="700" Rank="0" />
<Items Class="17" Grade="30" Score="850" Rank="0" />
<Items Class="18" Grade="30" Score="900" Rank="0" />
<Items Class="19" Grade="40" Score="150" Rank="0" />
<Items Class="20" Grade="40" Score="200" Rank="0" />
<Items Class="21" Grade="40" Score="250" Rank="0" />
<Items Class="22" Grade="40" Score="300" Rank="0" />
<Items Class="23" Grade="40" Score="400" Rank="0" />
<Items Class="24" Grade="40" Score="550" Rank="0" />
<Items Class="25" Grade="40" Score="700" Rank="0" />
<Items Class="26" Grade="40" Score="850" Rank="0" />
<Items Class="27" Grade="40" Score="900" Rank="0" />
<Items Class="28" Grade="100" Score="0" Rank="1" />
<Items Class="29" Grade="100" Score="0" Rank="2" />
<Items Class="30" Grade="100" Score="0" Rank="3" />