I am writing a C# code to parse the following XML doc :
<?xml version="1.0" encoding="utf-8" ?>
<teams>
<team id="1">
<name>RealMadrid</name>
<players>
<player id="1" role="Forward">
<firstname>Cristiano</firstname>
<lastname>Ronaldo</lastname>
<number>7</number>
</player>
<player id="2" role="Forward">
<firstname>Gareth</firstname>
<lastname>Bale</lastname>
<number>11</number>
</player>
<player id="3" role="Midfield">
<firstname>Toni</firstname>
<lastname>Kroos</lastname>
<number>8</number>
</player>
<player id="4" role="Midfield">
<firstname>Luka</firstname>
<lastname>Modric</lastname>
<number>19</number>
</player>
<player id="5" role="Defence">
<firstname>Sergio</firstname>
<lastname>Ramos</lastname>
<number>4</number>
</player>
<player id="6" role="Defence">
<firstname>Raphael</firstname>
<lastname>Varane</lastname>
<number>2</number>
</player>
<player id="7" role="Goalkeeper">
<firstname>Keylor</firstname>
<lastname>Navas</lastname>
<number>1</number>
</player>
</players>
</team>
<team id="2">
<name>Barcelona</name>
<players>
<player id="1" role="Forward">
<firstname>Lionel</firstname>
<lastname>Messi</lastname>
<number>10</number>
</player>
<player id="2" role="Forward">
<firstname>Neymar</firstname>
<lastname>Jr.</lastname>
<number>11</number>
</player>
<player id="3" role="Midfield">
<firstname>Ivan</firstname>
<lastname>Rakitic</lastname>
<number>4</number>
</player>
<player id="4" role="Midfield">
<firstname>Andres</firstname>
<lastname>Iniesta</lastname>
<number>8</number>
</player>
<player id="5" role="Defence">
<firstname>Gerard</firstname>
<lastname>Pique</lastname>
<number>3</number>
</player>
<player id="6" role="Defence">
<firstname>Javier</firstname>
<lastname>Mascherano</lastname>
<number>14</number>
</player>
<player id="7" role="Goalkeeper">
<firstname>Andre</firstname>
<lastname>Ter Stegen</lastname>
<number>1</number>
</player>
</players>
</team>
<team id="3">
<name>Liverpool</name>
<players>
<player id="1" role="Forward">
<firstname>Daniel</firstname>
<lastname>Sturridge</lastname>
<number>15</number>
</player>
<player id="2" role="Forward">
<firstname>Roberto</firstname>
<lastname>Firmino</lastname>
<number>11</number>
</player>
<player id="3" role="Midfield">
<firstname>Philippe</firstname>
<lastname>Coutinho</lastname>
<number>10</number>
</player>
<player id="4" role="Midfield">
<firstname>Adam</firstname>
<lastname>Lallana</lastname>
<number>20</number>
</player>
<player id="5" role="Defence">
<firstname>Joel</firstname>
<lastname>Matip</lastname>
<number>32</number>
</player>
<player id="6" role="Defence">
<firstname>Dejan</firstname>
<lastname>Lovren</lastname>
<number>6</number>
</player>
<player id="7" role="Goalkeeper">
<firstname>Simon</firstname>
<lastname>Mignolet</lastname>
<number>22</number>
</player>
</players>
</team>
</teams>
I want to write the firstname and lastname for players of a specific team. I wrote the following code :
var realTeam = from db in xelement.Elements("team")
where (string)db.Element("name")=="RealMadrid"
select db;
//Console.WriteLine("Real Madrid");
foreach (var e in realTeam)
{
Console.WriteLine(e);
}
This code is giving all the xml part related to "RealMadrid". What should I do write on the firstname and lastname of this part?
Any help is appreciated!!
nameelement. Tryselect db.Elements("players");instead ofselect db;then iterate through the players, each element should be of typeplayerwhich has lastname and firstname.