Read XML nodeshttp://forums.asp.net/t/1793296.aspx/1?Read+XML+nodesTue, 17 Apr 2012 11:27:47 -040017932964934380http://forums.asp.net/p/1793296/4934380.aspx/1?Read+XML+nodesRead XML nodes <p>Hi Programmers,</p> <p>I have an XML file with two teamIds in it 1 and 3. But What I want to do is read all the players within the team node where the ID is 1 and stop if its 3. Below is my XML hope this is clear.</p> <pre class="prettyprint">&lt;Sportsflash xmlns=&quot;&quot;&gt; &lt;Header clientId=&quot;0&quot; localeId=&quot;en&quot; seriesId=&quot;2643&quot; matchId=&quot;1&quot;&gt; &lt;Client&gt;Sportsflash&lt;/Client&gt; &lt;Series&gt;2011/12 Commonwealth Bank Series (AUS, IND, SLA)&lt;/Series&gt; &lt;Match&gt;Match 1&lt;/Match&gt; &lt;LastUpdate&gt;2012-03-23T23:29:26Z&lt;/LastUpdate&gt; &lt;LastGenerated&gt;2012-03-23T23:29:26Z&lt;/LastGenerated&gt; &lt;/Header&gt; &lt;Teams&gt; &lt;Team teamId=&quot;1&quot; teamName=&quot;Australia&quot; teamType=&quot;Home&quot;&gt; &lt;Player playerId=&quot;3581&quot; playerClass=&quot;Batsman&quot;&gt; &lt;Name&gt;Warner, DA&lt;/Name&gt; &lt;FirstName&gt;David&lt;/FirstName&gt; &lt;LastName&gt;Warner&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;3588&quot; playerClass=&quot;Wicket-Keeper&quot;&gt; &lt;Name&gt;Wade, MS (wk)&lt;/Name&gt; &lt;FirstName&gt;Matthew&lt;/FirstName&gt; &lt;LastName&gt;Wade&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;276&quot; playerClass=&quot;Batsman&quot;&gt; &lt;Name&gt;Ponting, RT&lt;/Name&gt; &lt;FirstName&gt;Ricky&lt;/FirstName&gt; &lt;LastName&gt;Ponting&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;2812&quot; playerClass=&quot;Batsman&quot;&gt; &lt;Name&gt;Clarke, MJ (c)&lt;/Name&gt; &lt;FirstName&gt;Michael&lt;/FirstName&gt; &lt;LastName&gt;Clarke&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;2212&quot; playerClass=&quot;Batsman&quot;&gt; &lt;Name&gt;Hussey, MEK&lt;/Name&gt; &lt;FirstName&gt;Michael&lt;/FirstName&gt; &lt;LastName&gt;Hussey&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;2211&quot; playerClass=&quot;Batsman&quot;&gt; &lt;Name&gt;Hussey, DJ&lt;/Name&gt; &lt;FirstName&gt;David&lt;/FirstName&gt; &lt;LastName&gt;Hussey&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;3422&quot; playerClass=&quot;All-Rounder&quot;&gt; &lt;Name&gt;Christian, DT&lt;/Name&gt; &lt;FirstName&gt;Daniel&lt;/FirstName&gt; &lt;LastName&gt;Christian&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;2879&quot; playerClass=&quot;Bowler&quot;&gt; &lt;Name&gt;Harris, RJ&lt;/Name&gt; &lt;FirstName&gt;Ryan&lt;/FirstName&gt; &lt;LastName&gt;Harris&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;7438&quot; playerClass=&quot;Bowler&quot;&gt; &lt;Name&gt;Starc, MA&lt;/Name&gt; &lt;FirstName&gt;Mitchell&lt;/FirstName&gt; &lt;LastName&gt;Starc&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;3727&quot; playerClass=&quot;Bowler&quot;&gt; &lt;Name&gt;McKay, CJ&lt;/Name&gt; &lt;FirstName&gt;Clint&lt;/FirstName&gt; &lt;LastName&gt;McKay&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;2971&quot; playerClass=&quot;Bowler&quot;&gt; &lt;Name&gt;Doherty, XJ&lt;/Name&gt; &lt;FirstName&gt;Xavier&lt;/FirstName&gt; &lt;LastName&gt;Doherty&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;3576&quot; playerClass=&quot;Batsman&quot;&gt; &lt;Name&gt;Forrest, PJ (12th)&lt;/Name&gt; &lt;FirstName&gt;Peter&lt;/FirstName&gt; &lt;LastName&gt;Forrest&lt;/LastName&gt; &lt;/Player&gt; &lt;/Team&gt; &lt;Team teamId=&quot;3&quot; teamName=&quot;India&quot; teamType=&quot;Away&quot;&gt; &lt;Player playerId=&quot;3182&quot; playerClass=&quot;Batsman&quot;&gt; &lt;Name&gt;Gambhir, G&lt;/Name&gt; &lt;FirstName&gt;Gautam&lt;/FirstName&gt; &lt;LastName&gt;Gambhir&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;1133&quot; playerClass=&quot;Batsman&quot;&gt; &lt;Name&gt;Tendulkar, SR&lt;/Name&gt; &lt;FirstName&gt;Sachin&lt;/FirstName&gt; &lt;LastName&gt;Tendulkar&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;7285&quot; playerClass=&quot;Batsman&quot;&gt; &lt;Name&gt;Kohli, V&lt;/Name&gt; &lt;FirstName&gt;Virat&lt;/FirstName&gt; &lt;LastName&gt;Kohli&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;3529&quot; playerClass=&quot;Batsman&quot;&gt; &lt;Name&gt;Sharma, RG&lt;/Name&gt; &lt;FirstName&gt;Rohit&lt;/FirstName&gt; &lt;LastName&gt;Sharma&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;3379&quot; playerClass=&quot;Batsman&quot;&gt; &lt;Name&gt;Raina, SK&lt;/Name&gt; &lt;FirstName&gt;Suresh&lt;/FirstName&gt; &lt;LastName&gt;Raina&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;3354&quot; playerClass=&quot;Wicket-Keeper&quot;&gt; &lt;Name&gt;Dhoni, MS&lt;/Name&gt; &lt;FirstName&gt;MS&lt;/FirstName&gt; &lt;LastName&gt;Dhoni&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;3528&quot; playerClass=&quot;All-Rounder&quot;&gt; &lt;Name&gt;Jadeja, RA&lt;/Name&gt; &lt;FirstName&gt;Ravindra&lt;/FirstName&gt; &lt;LastName&gt;Jadeja&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;7292&quot; playerClass=&quot;Bowler&quot;&gt; &lt;Name&gt;Ashwin, R&lt;/Name&gt; &lt;FirstName&gt;Ravichandran&lt;/FirstName&gt; &lt;LastName&gt;Ashwin&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;8268&quot; playerClass=&quot;&quot;&gt; &lt;Name&gt;Sharma, R&lt;/Name&gt; &lt;FirstName&gt;Rahul&lt;/FirstName&gt; &lt;LastName&gt;Sharma&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;7287&quot; playerClass=&quot;Bowler&quot;&gt; &lt;Name&gt;Vinay Kumar, R&lt;/Name&gt; &lt;FirstName&gt;Ranganath&lt;/FirstName&gt; &lt;LastName&gt;Vinay Kumar&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;4677&quot; playerClass=&quot;Bowler&quot;&gt; &lt;Name&gt;Kumar, PS&lt;/Name&gt; &lt;FirstName&gt;Praveen&lt;/FirstName&gt; &lt;LastName&gt;Kumar&lt;/LastName&gt; &lt;/Player&gt; &lt;Player playerId=&quot;4592&quot; playerClass=&quot;Batsman&quot;&gt; &lt;Name&gt;Tiwary, MK (12th)&lt;/Name&gt; &lt;FirstName&gt;Manoj&lt;/FirstName&gt; &lt;LastName&gt;Tiwary&lt;/LastName&gt; &lt;/Player&gt; &lt;/Team&gt; &lt;/Teams&gt; &lt;/Sportsflash&gt;</pre> <p></p> 2012-04-16T10:10:51-04:004934382http://forums.asp.net/p/1793296/4934382.aspx/1?Re+Read+XML+nodesRe: Read XML nodes <p>My code below is looping through all the player nodes in team, but I want it to stop if teamId isnt 1</p> <pre class="prettyprint">class MatchedPlayers { public int PartnerSeriesID; public int TeamID; public void GetMatchInfo() { //Read XML to get the seriesID (Tournament ID) XmlTextReader xmlSeries = new XmlTextReader(&quot;GetMatchPlayers-1.xml&quot;); System.Xml.XmlDocument xmldocs = new System.Xml.XmlDocument(); xmldocs.Load(&quot;GetMatchPlayers-1.xml&quot;); //Get Series ID XmlNodeList xmlSeriesid = xmldocs.SelectNodes(&quot;//Header&quot;); //Get TeamID for Players XmlNodeList xmlTeamID = xmldocs.SelectNodes(&quot;//Teams/Team&quot;); XmlNodeList xmlPlayers = xmldocs.SelectNodes(&quot;//Teams/Team/Player&quot;); foreach (XmlNode series in xmlSeriesid) { xmldocs.LoadXml(series.OuterXml); PartnerSeriesID = Convert.ToInt32(series.Attributes[&quot;seriesId&quot;].Value); Console.WriteLine(PartnerSeriesID); } //Foreach loop for TeamID foreach (XmlNode teamID in xmlTeamID) { xmldocs.LoadXml(teamID.OuterXml); TeamID = Convert.ToInt32(teamID.Attributes[&quot;teamId&quot;].Value); Console.WriteLine(TeamID); //If TeamID is one get all the players in the team if (TeamID == 1) { //ForEach for players goes here } } } } }</pre> <p></p> 2012-04-16T10:13:23-04:004934414http://forums.asp.net/p/1793296/4934414.aspx/1?Re+Read+XML+nodesRe: Read XML nodes <p>Hi,</p> <p>You can directly get then Team for which team id is 1 with this you can reduce the load</p> <p>protected XmlDocument GetTeamXml()</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlDocument doc = new XmlDocument();</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; doc.Load(Server.MapPath(&quot;~/XMLFILENAME.xml&quot;));</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Exception ex)</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>&nbsp;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return doc;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>&nbsp;</p> <p>protected void LoadTeam(string TeamID)</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlDocument doc = GetTeamXml();</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (doc.DocumentElement != null)</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlElement root = doc.DocumentElement;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; XmlNodeList nodes = root.SelectNodes(&quot;//Teams/Team[@teamid='&quot; &#43; TeamID.Trim() &#43; &quot;']&quot;);</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (XmlNode node in nodes)</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string teamName= node.Attributes[&quot;teamName&quot;].Value;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Exception ex)</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> <p></p> 2012-04-16T10:25:14-04:004936563http://forums.asp.net/p/1793296/4936563.aspx/1?Re+Read+XML+nodesRe: Read XML nodes <p>Hi,</p> <p>It is simple , If the condition satisfied (ID = '1') then exit the for each loop.</p> <p>&nbsp;</p> <p>use &quot;<strong>exit for </strong>&quot; with in for each loop when the condition satisfied it will exits.</p> 2012-04-17T11:27:47-04:00