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 …

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 » (webbstrategiforalla.se/upload/iso-3166-country-code.xml)

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

AF Afghanistan AX land Islands AL Albania

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

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.