Fylla en dropdownlist med värden från en XML-fil

Har suttit och kodat lite för skojs skull och tänkte dela med mig av resultatet. Denna kod finns garanterat på tusen andra ställen redan, men jag lyckades i alla fall inte hitta exakt vad jag sökte efter.

Målet med koden är att få en lista med länder i en selectbox i ett webbformulär. Länderna ska komma från en XML-fil kodade enligt ISO 3166 Country Code.

XML-filen hittar du här »

XML-filen ser ut ungefär så här i nedkortad format:

<?xml version="1.0"?>
<countries standard="ISO 3166 Country Code">
<item>
<Code>AF</Code>
<Country>Afghanistan</Country>
</item>
<item>
<Code>AX</Code>
<Country>land Islands</Country>
</item>
<item>
<Code>AL</Code>
<Country>Albania</Country>
</item>
</countries>

ASPX-filen ser ut ut så här:

<form runat="server">
	<asp:DropDownList ID="ddlCountry" runat="server" />
</form>

Och *.CS-filen så här:

using System;
using System.Data;
using System.Data.Odbc;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;

//nedan kod ska in i Page_Load

XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("/App_GlobalResources/countries.xml"));
XmlNodeList nodeList = doc.SelectNodes("countries/item"); 

foreach (XmlNode node in nodeList) {
   ddlCountry.Items.Add(new ListItem(node.SelectSingleNode("Country").LastChild.InnerText, node.SelectSingleNode("Code").FirstChild.InnerText));
}

Är inte hundra på om jag är nöjd med XML-anropen imorgon, men det fungerar åtminstone.