Im Trying to count Value in Team Element throw all Xml nodes and populate it to List box in this format: Team1, Count 3. Thnx for help
XmlNodeList nodeList = xmlDoc.GetElementsByTagName("Team");
foreach (XmlNode xNode in nodeList)
{
foreach (var item in xNode)
{
lstRegPartiData.Items.Add(xNode.InnerText + item);
}
}
Here im try to count elements by value.
And this is my xml template.
<Participants>
<Participant>
<DateTime>21.04.2018</DateTime>
<FullName>N1</FullName>
<Email>email@gmail.com</Email>
<Phone>123456789</Phone>
<DateOfBirth>00/00/1988</DateOfBirth>
<Team>Team1</Team>
<MainWeapon>T1</MainWeapon>
<MainWeaponChrono>120-130 m\s</MainWeaponChrono>
<WeaponClass>C1</WeaponClass>
<Comment>Hello World</Comment>
</Participant>
<Participant>
<DateTime>21.04.2018</DateTime>
<FullName>N1</FullName>
<Email>email@gmail.com</Email>
<Phone>987654321</Phone>
<DateOfBirth>00/00/1988</DateOfBirth>
<Team>Team1</Team>
<MainWeapon>T1</MainWeapon>
<MainWeaponChrono>120-130 m\s</MainWeaponChrono>
<WeaponClass>C1</WeaponClass>
<Comment>My Comment</Comment>
</Participant>
<Participant>
<DateTime>21.04.2018</DateTime>
<FullName>N1</FullName>
<Email>email@gmail.com</Email>
<Phone>123456789</Phone>
<DateOfBirth>00/00/1988</DateOfBirth>
<Team>Team1</Team>
<MainWeapon>T1</MainWeapon>
<MainWeaponChrono>120-130 m\s</MainWeaponChrono>
<WeaponClass>C1</WeaponClass>
<Comment>Hello World</Comment>
</Participant>
</Participants>
Maybe you can do something like this
XmlDocument readDoc = new XmlDocument();
readDoc.Load(@"XML.xml");
var Node = readDoc.SelectNodes("Participants/Participant/Team");
Dictionary<string, int> teamList = new Dictionary<string, int>();
foreach (XmlNode n in Node)
{
if (teamList.ContainsKey(n.InnerText))
teamList[n.InnerText]++;
else
teamList.Add(n.InnerText, 1);
}
i know its not look good but it should work