.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Collections.Generic;
using System;
using System.Linq;
using System.Xml;					
using System.Xml.Linq;
using System.Collections; 
using System.Collections.Generic;
using System.Data;
using System.Data.DataSetExtensions;
using System.Data.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Xml.Serialization;	
using System.IO;
using System.Globalization;
using System.Diagnostics;
using System.Collections.Concurrent;

					
public class Program
{
	public static void Main()
	{
		string input = @"<Data_Speed>
<Tech ID = ""UMTS"">
    <Coverage ID=""Dense_Urban"">
        <DownLoad_Speed>10</DownLoad_Speed>
        <Upload_Speed>20</Upload_Speed>
    </Coverage>
    <Coverage ID=""Urban"">
        <DownLoad_Speed>30</DownLoad_Speed>
        <Upload_Speed>40</Upload_Speed>
    </Coverage>
    <Coverage ID=""SubUrban"">
        <DownLoad_Speed>50</DownLoad_Speed>
        <Upload_Speed>60</Upload_Speed>
    </Coverage>
 </Tech>
<Tech ID = ""UMTS900"">
    <Coverage ID=""Dense_Urban"">
        <DownLoad_Speed>11</DownLoad_Speed>
        <Upload_Speed>12</Upload_Speed>
    </Coverage>
    <Coverage ID=""Urban"">
        <DownLoad_Speed>13</DownLoad_Speed>
        <Upload_Speed>14</Upload_Speed>
    </Coverage>
    <Coverage ID=""SubUrban"">
        <DownLoad_Speed>15</DownLoad_Speed>
        <Upload_Speed>16</Upload_Speed>
    </Coverage>
</Tech>
<Tech ID = ""4G800"">
    <Coverage ID=""Dense_Urban"">
        <DownLoad_Speed>30</DownLoad_Speed>
        <Upload_Speed>42</Upload_Speed>
    </Coverage>
    <Coverage ID=""Urban"">
        <DownLoad_Speed>50</DownLoad_Speed>
        <Upload_Speed>34</Upload_Speed>
    </Coverage>
    <Coverage ID=""SubUrban"">
        <DownLoad_Speed>45</DownLoad_Speed>
        <Upload_Speed>46</Upload_Speed>
    </Coverage>
    <Coverage ID=""Rural"">
        <DownLoad_Speed>47</DownLoad_Speed>
        <Upload_Speed>48</Upload_Speed>
    </Coverage>
    <Coverage ID=""Variable"">
        <DownLoad_Speed>15</DownLoad_Speed>
        <Upload_Speed>52</Upload_Speed>     
    </Coverage>
    <Coverage ID=""Outdoor"">
        <DownLoad_Speed>25</DownLoad_Speed>
        <Upload_Speed>22</Upload_Speed>
    </Coverage>
</Tech>
</Data_Speed>";
		
		XDocument doc = XDocument.Parse(input);
		
		var result = doc.Descendants("Tech")
			.Where(x=>x.Attribute("ID") != null && x.Attribute("ID").Value == "UMTS900")
			.Elements("Coverage")
			.Where(x=>x.Attribute("ID") != null && x.Attribute("ID").Value == "Dense_Urban")
			.Select(x=> new 
							{
								Dowload_Speed = (string)x.Element("DownLoad_Speed"),
								Upload_Speed = (string)x.Element("Upload_Speed")
							});
		
		foreach(var r in result)
		{
			Console.WriteLine("{0} - {1}",r.Dowload_Speed, r.Upload_Speed);
		}
	}
}
;